在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度、高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲述一个爬虫技巧,设置代理IP。
(一)配置环境
安装requests库
安装bs4库
安装lxml库
(二)代码展示
# IP地址取自国内髙匿代理IP网站:https://www.dongtaiip.net # 仅仅爬取首页IP地址就足够一般使用 from bs4 import BeautifulSoup import requests import random def get_ip_list(url, headers): web_data = requests.get(url, headers=headers) soup = BeautifulSoup(web_data.text, 'lxml') ips = soup.find_all('tr') ip_list = [] for i in range(1, len(ips)): ip_info = ips[i] tds = ip_info.find_all('td') ip_list.append(tds[1].text + ':' + tds[2].text) return ip_list def get_random_ip(ip_list): proxy_list = [] for ip in ip_list: proxy_list.append('http://' + ip) proxy_ip = random.choice(proxy_list) proxies = {'http': proxy_ip} return proxies if __name__ == '__main__': url = 'http://www.xicidaili.com/nn/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' } ip_list = get_ip_list(url, headers=headers) proxies = get_random_ip(ip_list) print(proxies)函数get_ip_list(url, headers)传入url和headers,最后返回一个IP列表,列表的元素类似42.84.226.65:8888格式,这个列表包括国内髙匿代理IP网站首页所有IP地址和端口。
函数get_random_ip(ip_list)传入第一个函数得到的列表,返回一个随机的proxies,这个proxies可以传入到requests的get方法中,这样就可以做到每次运行都使用不同的IP访问被爬取的网站,有效地避免了真实IP被封的风险。proxies的格式是一个字典:{‘http': ‘http://42.84.226.65:8888‘}。
(三)代理IP的使用
运行上面的代码会得到一个随机的proxies,把它直接传入requests的get方法中即可。
web_data = requests.get(url, headers=headers, proxies=proxies)
相关资讯
为什么使用python采集都使用ip代理软件
多线程、异步与动态代理使用代理IPweb爬虫在使用代理ip采集数据的时候,经常会碰到有反采集策略规则的WAF,使得本来很简单事情变得复杂起来,使得很多人无法获取
来源:黑核混拨ip代理
2019-01-10 10:34:30
身为python爬虫程序员如何寻找稳定的代理ip软件
身为python爬虫的程序猿,不懂的时候一般都善于动脑且有一定动手能力。对于稳定代理IP,没有就去寻找嘛!google、度娘,输入关键字:代理IP,前几页几乎都
来源:黑核混拨ip代理
2019-01-10 15:58:02
有什么代理ip软件能提高Python爬虫的工作效率
Python是一种动态解释型的编程语言,它可以在Windows、UNIX、MAC等多种操作系统以及Java、.NET开发平台上使用。如果我们想在网络上快速抓取数
来源:黑核混拨ip代理
2019-01-10 18:00:45
python爬虫如何使用代理ip软件避开反爬策略
对于python爬虫来说,最常遇见的难题就是来自网站的反爬策略。其实,python爬虫的固定套路也就那么多,各种网站的反爬策略也是针对这些固定的爬虫套路衍生出来
来源:黑核混拨ip代理
2019-01-11 13:51:27
为什么Python爬虫经常被封?有什么办法解决
如果你一直被网站封杀却找不到原因,那么这篇文章获取能帮助到你。今天小编重点给大家讲一下,网络爬虫被封的常见原因。一、检查JavaScript如果出现页面空白、缺
来源:黑核混拨ip代理
2019-01-14 15:46:14
为什么网站要限制python爬虫大量抓取
很多从事python爬虫的网友,在采集网站信息时常遇见一些数据显示在浏览器上却无法抓取的情况。这可能是因为对方有意不让爬虫抓取信息,当你的IP地址被网站封杀,就
来源:黑核混拨ip代理
2019-01-14 17:03:45
代理IP对python爬虫有用吗?为什么说代理IP方便我们上网
HTTP代理IP对python爬虫有何作用?现如今,网络python爬虫早已不是什么陌生词汇,许多开发者在爬取数据时最常遇见的就是IP地址被网站封禁。究其原因,
来源:黑核混拨ip代理
2019-01-16 16:11:50
经久不衰的http代理ip如何设置代理
作为最高出现在网络上的一个超文本协议,http是目前互联网上使用率最高的一个文本协议。如我们日常生活中最常用的一个网站,度娘使用的也是http协议。即使如今的代
来源:黑核混拨ip代理
2019-01-10 11:52:14
什么是ip代理软件?可以修改ip地址吗?
经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们
来源:黑核混拨ip加速器网
2018-12-27 17:27:18
IP加速器的使用方法和简单问题解决办法
IP加速器,顾名思义就是加速IP,提升网络性能,降低网络延迟。黑核混拨ip加速器是一款ip量大速度快的加速器,非游戏外挂,可以放心使用。IP加速器的客户端设置简
来源:黑核混拨ip加速器网
2018-12-28 10:21:44
爬虫技术工程师为什么离不开ip代理
说到爬虫,自然离不开爬虫代理地址。爬虫是一门随着互联网大数据而应运而生的产物,它主要是为了在海量的网络数据中采集分析有效的数据而诞生的一门技术。无需多言,爬虫技
来源:黑核混拨ip加速器网
2018-12-28 15:24:23
推荐阅读
Copyright © | 广州网连信息技术有限公司动态ip代理版权所有 备案号:粤ICP备18088888号-15 网站地图