开发者社区> python进阶者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

手把手教你使用Python爬取西刺代理数据(上篇)

简介:
+关注继续查看

/1 前言/

细心的小伙伴应该知道上次小编发布了一篇关于IP代理的文章,基于Python网络爬虫技术,主要介绍了去IP代理网站上抓取可用IP,并且Python脚本实现验证IP地址的时效性,如遇到爬虫被禁的情况就可以用文章中的办法进行解决。如果没有来得及上车的小伙伴,可以戳这篇文章看看:手把手教你用免费代理ip爬数据。

接下来小编要推出的三篇文章,分别从代理网站的介绍和反爬措施介绍、数据抓取、数据可视化操作三方面进行展开,各个方面独占一文,希望对大家的学习有帮助。接下来小编先介绍代理网站及其反爬措施。

/2 简介/

西次代理网站是国内收录国内代理的网站,实时数量达到数十万条,上面有很多的代理IP,有的是免费的,有的是付费的。免费的一般是不可用的,即便当时好用,但是也挺不了多久,就会凉凉。

/3 反爬虫措施/

本文主要内容为使用 Python 对该网站数据进行爬取,其中爬虫主要利用  requests 库,下面先针对反爬虫措施进行简介。

经过前期测试时发现,该网站反爬虫处理措施很多,测试到有以下几个:

直接使用 requests 库,在不设置任何 header 的情况下,网站直接不返回数据。

同一个 ip 连续访问 40 多次,直接封掉 ip,起初我的 ip 就是这样被封掉的。

为了解决这两个问题,最后经过研究,使用以下方法,可以有效解决:

通过抓取正常网络流量,获取正常的 http 请求头(header),并在 requests 请求时设置这些常规的 http 请求头,这样的目的是让目标网站认为我们发出的请求是正常通过浏览器发起而非使用程序自动发起的。这样就可以解决第一个痛点。

构建代理池,首先从其他网站获取一批初始代理,利用这些代理在爬取该网站的代理数 据时将爬取到的代理实时加入进来,每次爬取时随机选择一个代理池中的代理,同时,及时将那些失效或者被封的代理移出代理池。这样,我们就不用担心一个ip用久了就被封掉。

为了正常的获取 http 请求头,使用抓包工具 Fiddler 对正常浏览器访问该网站的数据包进行抓取,如图:
提取数据之后,将该数据封装成 requests 库可以识别的 header 字典, 供其调用,这样通过使用正常的数据包,我们就不用担心网站使用头部校验了。在代码中,专门定义一个函数,只需要调用该函数就可以得到该字典:
然后在 requests 请求网站的时候, 设置这个头部即可, 代码如下:
至此,针对反爬虫的措施我们已经提前做好了准备,下一步将进行网页结构的分析以及网页数据的提取,具体实现咱们下篇文章进行详解。

/4 小结/

本文主要内容为对代理网站进行了基本简介,而后对代理网站的反爬虫措施进行简介。之后使用抓包工具 Fiddler 对该网站的数据包进行抓取,基于 Python 中的爬虫库 requests ,提前部署了请求头,模拟浏览器。下篇文章将带大家进行网页结构的分析以及网页数据的提取,敬请期待~~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
朋友股票亏惨了,我一怒用Python爬取了证券最新数据
朋友股票亏惨了,我一怒用Python爬取了证券最新数据
0 0
python scrapy框架爬取haozu 数据
工作中需要数据,刚学习的python 还有 scarpy 如有大神指导,我必虚心学习。
943 0
Python 爬取了马蜂窝的出行数据,告诉你这个夏天哪里最值得去!
正值火辣的暑假,朋友圈已经被大家的旅行足迹刷屏了,真的十分惊叹于那些把全国所有省基本走遍的朋友们。与此同时,也就萌生了写篇旅行相关的内容,本次数据来源于一个对于爬虫十分友好的旅行攻略类网站:蚂蜂窝。 一、获得城市编号 蚂蜂窝中的所有城市、景点以及其他的一些信息都有一个专属的5位数字编号,我们第一步要做的就是获取城市(直辖市+地级市)的编号,进行后续的进一步分析。
3854 0
Python实战案例分享:爬取当当网商品数据
目前,网络爬虫应用领域非常广,在搜索引擎、大数据分析、客户挖掘中均可以……
4154 0
python爬虫从入门到放弃(九)之 实例爬取上海高级人民法院网开庭公告数据
通过前面的文章已经学习了基本的爬虫知识,通过这个例子进行一下练习,毕竟前面文章的知识点只是一个 一个单独的散知识点,需要通过实际的例子进行融合 分析网站 其实爬虫最重要的是前面的分析网站,只有对要爬取的数据页面分析清楚,才能更方便后面爬取数据 目标站和目标数据目标地址:http://www.
835 0
深度之眼(十三)——Python:类-面向对象的编程(下)
深度之眼(十三)——Python:类-面向对象的编程(下)
0 0
深度之眼(十三)——Python:类-面向对象的编程(上)
深度之眼(十三)——Python:类-面向对象的编程(上)
0 0
深度之眼(九)——python函数--面向过程的编程(下)
深度之眼(九)——python函数--面向过程的编程(下)
0 0
+关注
python进阶者
专注于分享Python网络爬虫、数据挖掘、数据分析、数据处理、数据可视化、大数据、人工智能、云计算、机器学习等工具资源、热点资讯、相关技术文章、学习视频和学习资料等~~~ 该社区将不定期分享各种技术干货、学习资料等。关注我们,您收获的不只是知识,还有经验与人脉!
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载