Python | 您所在的位置:网站首页 › 代理ip网站源码怎么获取信息 › Python |
点关注,少BUG 很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。 使用代理IP,这是爬虫/反爬虫的重要技术,通常也是最好用的。 ▌1 原理 request中通过ProxyHandler来设置使用代理服务器,代理的使用很简单,可以付费在专业网站上购买稳定的ip地址,也可以在网络上寻求免费的ip代理。但是,这些免费开放代理一般会有很多人都在使用,而且代理有寿命短,速度慢,匿名度不高,HTTP/HTTPS支持不稳定等缺点(免费没好货)。 免费的开放代理获取基本没有成本,我们可以在一些代理网站上收集这些免费代理,测试后如果可以用,就把它收集起来用在爬虫上面。 ▌2 代码 #引入随机模块import requests,randombase_url = 'http://langlang2017.com'#构建代理ip列表,里面一般包含http与HTTPS两种协议的代理ip,为了适应不同的网站,#该模块会根据所要访问的网站的协议类型自动的选择合适的ipprocxy = [ {'http':'HTTP://121.52.208.200:808', 'https':'HTTPS://111.177.106.231:9999' }, {'http':'HTTP://180.119.68.10:9999', 'https':'HTTPS://123.169.34.240:4366' }]#随机选择列表中的字典,直到匹配上可以使用的iphttp = random.choice(procxy)#timeout是超时时间,因为连接某些代理会比较慢,设置超时时间避免等待时间过长response = requests.get(url=base_url,proxies=http,timeout=20)contents = response.content.decode('utf-8')#写入文件,当然这一步可有可无with open('12306.html','w',encoding='utf-8')as f: f.write(contents)#引入随机模块import requests,random▌3 免费短期代理网站推荐 西刺免费代理IP:http://www.xicidaili.com/ 快代理免费代理:https://www.kuaidaili.com/free/inha/ 全网代理IP:http://www.goubanjia.com/ 如果代理IP足够多,就可以像随机获取User-Agent一样,随机选择一个代理去访问网站。 当然如果出现下面这个情况,不要怀疑代码写错了,而是代理ip不能用,这时候要么换ip要么就是花钱买稳定的ip。 所以,专业爬虫工程师或爬虫公司会使用高品质的私密代理,这些代理通常需要找专门的代理供应商购买,再通过用户名/密码授权使用(舍不得孩子套不到狼)。 ????点击获取:往期神器???? 1、 2、 3、 - END - |
CopyRight 2018-2019 实验室设备网 版权所有 |