电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python爬取代理ip的示例

瀏覽:5日期:2022-07-01 17:33:38

要寫爬蟲爬取大量的數據,就會面臨ip被封的問題,雖然可以通過設置延時的方法來延緩對網站的訪問,但是一旦訪問次數過多仍然會面臨ip被封的風險,這時我們就需要用到動態的ip地址來隱藏真實的ip信息,如果做爬蟲項目,建議選取一些平臺提供的動態ip服務,引用api即可。目前國內有很多提供動態ip的平臺,普遍價格不菲,而對于只想跑個小項目用來學習的話可以參考下本篇文章。

簡述

本篇使用簡單的爬蟲程序來爬取免費ip網站的ip信息并生成json文檔,存儲可用的ip地址,寫其它爬取項目的時候可以從生成的json文檔中提取ip地址使用,為了確保使用的ip地址的有效性,建議對json文檔中的ip現爬現用,并且在爬取時對ip有效性的時間進行篩選,只爬取時長較長、可用的ip地址存儲。

實現

使用平臺https://www.xicidaili.com/nn/來作為數據源,通過對http://www.baidu.com/的相應來判斷ip的可使用性。引用lxml模塊來對網頁數據進行提取,當然也可以使用re模塊來進行匹配提取,這里只使用lxml模塊對數據進行提取。訪問https://www.xicidaili.com/nn/數據源,并且啟動Fiddler對瀏覽器數據進行監聽,我這里瀏覽器采用的是Proxy SwitchyOmega插件來配合Fiddler進行使用,在Fiddler找到/nn/*數據查看User-Agent信息并復制下來作為我們訪問的頭文件。如圖:

python爬取代理ip的示例

引入模塊

import requestsfrom lxml import etreeimport timeimport json

獲取所有數據

def get_all_proxy(page): url = ’https://www.xicidaili.com/nn/%s’%page headers = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36’, } response = requests.get(url, headers=headers) html_ele = etree.HTML(response.text) ip_eles = html_ele.xpath(’//table[@id='ip_list']/tr/td[2]/text()’) port_ele = html_ele.xpath(’//table[@id='ip_list']/tr/td[3]/text()’) print(ip_eles) proxy_list = [] for i in range(0,len(ip_eles)): check_all_proxy(ip_eles[i],port_ele[i]) return proxy_list

對數據進行篩選:

def check_all_proxy(host,port): type = ’http’ proxies = {} proxy_str = '%s://@%s:%s' % (type, host, port) valid_proxy_list = [] url = ’http://www.baidu.com/’ proxy_dict = { ’http’: proxy_str, ’https’: proxy_str } try: start_time = time.time() response = requests.get(url, proxies=proxy_dict, timeout=5) if response.status_code == 200:end_time = time.time()print(’代理可用:’ + proxy_str)print(’耗時:’ + str(end_time - start_time))proxies[’type’] = typeproxies[’host’] = hostproxies[’port’] = portproxiesJson = json.dumps(proxies)with open(’verified_y.json’, ’a+’) as f: f.write(proxiesJson + ’n’)print('已寫入:%s' % proxy_str)valid_proxy_list.append(proxy_str) else:print(’代理超時’) except: print(’代理不可用--------------->’+proxy_str)

運行程序:

if __name__ == ’__main__’: for i in range(1,11): #選取前十頁數據使用 proxy_list = get_all_proxy(i) time.sleep(20) print(valid_proxy_list)

生成的json文件:

python爬取代理ip的示例

以上就是python爬取代理ip的示例的詳細內容,更多關于python爬取代理ip的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 护栏打桩机-打桩机厂家-恒新重工 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 环比机械| 制样机-密封锤式破碎机-粉碎机-智能马弗炉-南昌科鑫制样 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 乐考网-银行从业_基金从业资格考试_初级/中级会计报名时间_中级经济师 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 泰安办公家具-泰安派格办公用品有限公司 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 山东艾德实业有限公司| 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 识禅_对禅的了解,从这里开始| 事迹材料_个人事迹名人励志故事 学生作文网_中小学生作文大全与写作指导 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 |