如何用免费代理IP爬数据

技术如何用免费代理IP爬数据如何用免费代理IP爬数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一.前言玩爬虫的都避免不了各大网站的反爬措施限制,比较常见

相信很多没有经验的人,对于如何使用免费代理IP抓取数据都是一窍不通的。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

一.前言

玩爬虫的都无法避免各大网站反爬措施的限制。通过定时检查一个ip地址的流量来判断用户是否是“网络机器人”是很常见的,也叫爬虫。如果被识别,就会面临被ip封杀的风险,让你无法访问网站。

如何用免费代理IP爬数据

一般的解决方案是用代理ip爬行,但是收取的代理ip一般比较贵。互联网上有很多免费的代理ip网站,但由于时效性的影响,大部分地址无法使用。维护代理ip池有很多教程,就是把可以抓取检测的代理ip放入“代理池”,以后需要的时候再从中提取。在我看来,这个效率比较低,因为这样的IP地址很快就会失效。

二.抓取IP地址

让我们开始实战操作。

1.首先,我们来找一个免费的代理ip网站,如下图所示。

如何用免费代理IP爬数据

2.打开网页查看器,分析其网页元素的结构,如下图所示。

如何用免费代理IP爬数据

3.这是一个简单的静态网页。我们使用requests和bs4来下载ip地址和对应的端口,如下图所示。

如何用免费代理IP爬数据

4.每一行ip地址由5个标签组成,我们需要第一个标签(对应的ip地址)和第二个标签(对应的端口),所以从第一个开始,我们每5个取出IP地址(项[:33605]),从第二个开始,我们每5个取出对应的端口(项[1:5])。

如何用免费代理IP爬数据

三.验证IP有效性

百度百科在这里被视为目标网站,但这个看似普通的网站的防爬措施极其严格,爬了几条内容后请求失败。在这里,我将以百度百科为例,演示如何使用免费代理ip。

1.首先,我爬下了12306上所有的火车站名称,但是没有归属信息。

如何用免费代理IP爬数据

2.然后通过站名构建百度百科url信息,分析网页元素,抓取火车站地址信息。网页元素如下图所示:

如何用免费代理IP爬数据

3.因此,我们只需要在class_='basicInfo-item '的标签内容中寻找“省”或“市”的字符,然后输出,最后添加一个while True循环,在ip可以正常抓取数据的时候打破这个循环;如果ip被禁止,立即重新请求一个新的ip进行爬网。直接代码如下图所示。

如何用免费代理IP爬数据

4.for循环是遍历所有火车站,尝试是检查ip是否仍然可以使用。如果没有,则在except中请求一个新的ip,爬行效果如下图所示:

如何用免费代理IP爬数据

这种方法可以解决爬行动物下次被禁的问题。

主要介绍如何在IP代理网站上抓取可用的IP,以及如何通过Python脚本验证IP地址的时效性。如果爬虫被禁,可以用这个方法解决。

看完以上,你知道如何用免费的代理IP抓取数据吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道。感谢阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/54363.html

(0)

相关推荐

  • 抖音刷赞自助网站,网站上的点赞怎么买?

    技术抖音刷赞自助网站,网站上的点赞怎么买?抖音在线刷赞网站,刷赞抖音平台如何实现的?对网站下订单很安全,不会出现封号的情况,因为网站是真人操作,网站接到任务后就会发消息给群组,群组中有全国各地的人,然后按照指定的时间接单

    测评 2021年11月11日
  • VS如何部署代码同步信息

    技术VS如何部署代码同步信息这篇文章主要为大家展示了“VS如何部署代码同步信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VS如何部署代码同步信息”这篇文章吧。使分布式系统

    攻略 2021年12月1日
  • Java JUC多线程的Fork Join Pool怎么使用

    技术Java JUC多线程的Fork Join Pool怎么使用这篇文章主要介绍“Java JUC多线程的Fork Join Pool怎么使用”,在日常操作中,相信很多人在Java JUC多线程的Fork Join Po

    攻略 2021年11月24日
  • 第十章(二) 模块补充 hashlib+log

    技术第十章(二) 模块补充 hashlib+log 第十章(二) 模块补充 hashlib+loghashlib模块
    加密:将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全)加密算法:md系

    礼包 2021年11月30日
  • 公顷怎么读,公里公顷公亩的背读方式

    技术公顷怎么读,公里公顷公亩的背读方式1.面积单位 面积单位有平方公里公顷怎么读、平方米、平方分米、平方厘米、平方毫米等。它们之间的换算关系是: 1平方公里=1000000平方米; 1平方米=100平方分米;

    生活 2021年10月27日
  • Python项目实战之如何使用Django框架实现支付宝付款

    技术Python项目实战之如何使用Django框架实现支付宝付款这篇文章主要介绍“Python项目实战之如何使用Django框架实现支付宝付款”,在日常操作中,相信很多人在Python项目实战之如何使用Django框架实

    攻略 2021年10月19日