日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

第四章 爬取西刺免费代理ip 并应用到scrapy

發(fā)布時(shí)間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章 爬取西刺免费代理ip 并应用到scrapy 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.獲取免費(fèi)代理ip

#!/usr/bin/env python # -*- coding: utf-8 -*- """ @author: liuyc @file: crawl_xici_ip.py @time: 2017/8/21 23:22 @describe: """ import requests from scrapy.selector import Selector from fake_useragent import UserAgent import MySQLdbconn = MySQLdb.connect(host="127.0.0.1", user="root", password="pass", db="scrapy", charset="utf8") cursor = conn.cursor() ua = UserAgent()def crawl_xici_ips():headers = {"User-Agent": "{0}".format(ua.random)}for i in range(1, 3):req = requests.get("http://www.xicidaili.com/nn/{0}".format(i), headers=headers)selector = Selector(text=req.text)trs = selector.css("#ip_list tr")lst_ip = []for tr in trs[1:]:all_text = tr.css("td::text").extract()lst_ip.append({"ip": all_text[0], 'port': all_text[1], 'ip_type': all_text[5]})for ip_info in lst_ip:sql_insert = "INSERT INTO ip_proxy(ip, port, ip_type) VALUES ('{0}','{1}','{2}')".format(ip_info["ip"], ip_info["port"], ip_info["ip_type"])cursor.execute(sql_insert)conn.commit()# crawl_xici_ips()class GetIP(object):def get_random_ip(self):random_sql = "SELECT ip, port FROM ip_proxy ORDER BY RAND() LIMIT 1"cursor.execute(random_sql)for ip_info in cursor.fetchall():ip = ip_info[0]port = ip_info[1]judge_re = self.judge_ip(ip, port)if judge_re:return "http://{0}:{1}".format(ip, port)else:return self.get_random_ip()def del_ip(self, ip):# 從數(shù)據(jù)庫(kù)中刪除無(wú)效ipdel_sql = "DELETE FROM ip_proxy WHERE ip='{0}'".format(ip)try:cursor.execute(del_sql)conn.commit()except Exception as e:print(e)def judge_ip(self, ip, port):baidu_rul = "http://www.baidu.com"proxy_url = "http://{0}:{1}".format(ip, port)proxy_dict = {"http": proxy_url,}try:response = requests.get(baidu_rul, proxies=proxy_dict)except Exception as e:print(e)self.del_ip(ip)print("invalid ip or port")return Falseelse:code = response.status_codeif code >= 200 and code < 300:print("effective ip:{0}".format(ip))return Trueelse:print("invalid ip or port")self.del_ip(ip)return False # # if __name__ == "__main__": # get_ip_obj = GetIP() # get_ip_obj.get_random_ip()
2.在抓取網(wǎng)頁(yè)時(shí)通過(guò)下面的中間件 隨機(jī)更換免費(fèi)代理IP

class RandomProxyMiddleware(object):"""隨機(jī)免費(fèi)代理ip中間件"""def process_request(self, request, spider):print("RandomUserAgentMiddleware".center(20, "*"))get_ip_obj = GetIP()request.meta["proxy"] = get_ip_obj.get_random_ip()


總結(jié)

以上是生活随笔為你收集整理的第四章 爬取西刺免费代理ip 并应用到scrapy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲成人午夜影院 | 国产精品中文 | av在线超碰 | 91看片黄色 | 国产视频黄色 | 中文字幕精品一区 | 99精品在线看 | 青青草国产在线播放 | 激情在线观看视频 | 少妇毛片一区二区三区粉嫩av | 美女屁股眼视频网站 | 国产精品久久久久久亚洲影视 | 久免费一级suv好看的国产 | 伊人久久免费 | 日本爽爽爽爽爽爽在线观看免 | 狠狠爱成人| 神马午夜电影一区二区三区在线观看 | 国产精品3p视频 | 免费一级片网站 | 久久久久久久久久综合 | 日本在线视频www色 国产在线视频网址 | 五月天综合激情网 | 奇米网7777 | 日本一区二区免费在线 | 国产一区视频在线观看免费 | 一级v片| 熟女人妇 成熟妇女系列视频 | 国产又大又黑又粗免费视频 | 亚洲av无码一区二区乱子仑 | 美女av网 | 精品无码在线视频 | 日韩欧美中 | 精品国产综合 | 国产日本一区二区 | 色就是色亚洲色图 | 黄色日b片 | 日韩视频二区 | 中国一级特黄真人毛片免费观看 | 无码人妻丰满熟妇区五十路百度 | 午夜三级在线 | 驯服少爷漫画免费观看下拉式漫画 | 久久人人爽人人人人片 | 欧美一区二区三区激情 | 国产最新自拍 | 欧美成人一区二区视频 | 精品福利影院 | 2019自拍偷拍 | 亚洲综合日韩 | 黄色99视频| 久久久久亚洲av无码专区桃色 | 美女被草出白浆 | 免费中文字幕日韩 | 蜜桃视频在线入口www | 中文字幕精 | 黄片毛片在线免费观看 | 女人床技48动态图 | 午夜视频免费 | 成全影视在线观看第8季 | 成人毛片基地 | 999久久久久 | 亚洲在线第一页 | 一区二区三区国产精品视频 | a毛片大片 | 91精品91久久久中77777 | 久青草视频 | 91网站免费在线观看 | 一区二区国产精品视频 | 久久久成人av | 怎么可能高潮了就结束漫画 | 好吊色视频一区二区三区 | 日韩美女黄色片 | 国产二级一片内射视频播放 | 67194午夜 | 欧美精品一区二区在线播放 | www在线观看视频 | 农村末发育av片一区二区 | 欧美日韩在线观看视频 | 欧美日韩精品中文字幕 | 国产午夜一级一片免费播放 | 一级做a爱视频 | 特黄大片又粗又大又暴 | 天天干天天摸天天操 | 欧美做受高潮 | 成人77777 | 婷婷一区二区三区 | 久久久成人免费视频 | 99视频在线免费观看 | 九九热中文字幕 | 91视频地址 | wwwsss在线观看 | 亚洲激情午夜 | 男人天堂伊人 | 人人插人人草 | 侵犯女教师一区二区三区 | 国内自拍一区 | 日韩精品久久久 | 日韩精品福利视频 | 向着小小的花蕾绽放 | 少妇性xxxxxxxxx色武功 |