2025澳门特马今晚开奖,澳门六开奖结果2025开奖记录查询,2025澳门六开彩开奖资料查询,2025澳门六今晚开奖结果出来,2025澳门天天开好彩大全,今天香港开什么特马

Python爬虫常用的小技巧-设置动态ip

Python爬虫常用的技巧——设置代理IP?在学习Python爬虫时,经常会遇到要爬的网站,采用了反爬技术,导致爬不上去。网页信息的高强度、高效率抓取往往会给网站服务器带来很大压力,所以同一个IP重复抓取同一个网页,很可能会被屏蔽。这里有一个爬虫技能,设置代理IP。
 
 
 
 
 
 
下面简单介绍一下免费获取代理IP的方法。这种方法的优点是免费,缺点是爬出来后不可用的多。
 
 
 
IP地址取自国内IP网站和IP模拟器代理。如果我们抓取主页上的IP地址,或者你可以抓取第一页和第二页,一般用途就足够了。
 
 
 
配置环境
 
 
 
安装请求库
 
 
 
安装bs4库
 
 
 
安装lxml库
 
 
 
绝对代码
 
 
 
不多说直接上代码。
 
 
 
动态IP模拟器
 
 
 
get_ip_list(url,headers)函数传入url和头,最后返回一个ip列表。该列表的元素类似于122.114.31.177:808格式,该列表包括国内互联网代理IP网站主页上的所有IP地址和端口。
 
 
 
get_random_ip(ip_list)函数传入由第一个函数获得的列表,并返回一个随机代理。这个代理可以传入requests的get方法,这样你每次运行都可以使用不同的IP访问抓取的网站,有效避免真实IP被屏蔽的风险。
 
 
 
代理的格式是字典:{ ' http ':' http://122 . 114 . 31 . 177:808 ' },下面的执行也可以封装成方法。
 
 
 
为了抓取ip,Rhino代理服务器做了反抓取。如果频繁抓取IP,服务器会主动返回503服务不可用并提示阻止,所以在请求时可以先请求保存一个文件进行读取,或者抓取一个IP几分钟后再抓取,相当于增加了一个定时功能。
 
 
 
代理IP的使用
 
 
 
运行上面的代码会得到一个随机的代理,它可以直接传递给请求的get方法。
 
 
 
res = requests.get(url,headers=headers,proxies = proxies)
 
 
 
这里要提醒大家的是,免费代理IP的稳定性还是需要讨论的。不如建议如何抓取大量信息或者买一些代理IP。
 
主站蜘蛛池模板: 潜江市| 哈密市| 定西市| 曲松县| 湛江市| 晋宁县| 望奎县| 北流市| 海南省| 独山县| 拉萨市| 台北县| 璧山县| 深圳市| 蕲春县| 永康市| 山东| 阳江市| 清丰县| 温宿县| 公安县| 德钦县| 如皋市| 清新县| 丁青县| 兴安盟| 沭阳县| 惠来县| 太原市| 海城市| 诸暨市| 泌阳县| 丰镇市| 鹿泉市| 大关县| 芦溪县| 崇文区| 义马市| 腾冲县| 祁连县| 游戏|