网页抓取数据百度百科(1.免费代理ip网站,如下免费IP的时效性图演示)

优采云 发布时间: 2021-09-17 20:27

  网页抓取数据百度百科(1.免费代理ip网站,如下免费IP的时效性图演示)

  /1序言/

  爬虫无法避免网站主要反爬虫措施的限制。更常见的是,通过在固定时间检测IP地址的流量来判断用户是否是“网络机器人”,即所谓的爬虫。如果被识别,它将面临IP阻塞的风险,因此您无法访问该网站

  一般的解决方案是使用代理IP进行爬网,但收费的代理IP通常更昂贵。互联网上有许多免费代理ip网站但由于时间关系,大部分地址无法使用。有很多关于维护代理IP池的教程,也就是说,将爬网和检测后可以使用的代理IP放入“代理池”,在我看来,这种效率相对较低,因为这种IP地址很快就会失效。我们需要做的是在检测的同时使用它,以充分保证免费IP的及时性

  /二,。抓取IP地址/

  让我们开始实际操作

  1.首先,让我们找一个自由球员ip网站,如下图所示

  

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

  

  3、是一个简单的静态网页。我们使用请求和BS4向下爬升IP地址和相应的端口,如下图所示

  

  4、每行IP地址由五个标签组成,我们需要的是第一个标签(对应IP地址)和第二个标签(对应端口)。因此,从第一个端口开始,每隔五个端口取出IP地址(项[::5]),从第二个端口开始,每隔五个端口取出相应的端口(项[1::5])。参数n为页码,一次只在第1页上取一个有用的IP地址,最终效果如下图所示:

  

  /3验证IP有效性/

  这里我们以百度百科全书为目标网站,这似乎是一个非常常见的网站,但反攀爬措施非常严格。爬升一些内容后,请求失败。下面,我以百度百科全书为例来演示如何使用免费代理IP

  1、首先,我在12306上记录了所有的优采云站点名称,但没有归属信息

  

  2、然后根据站点名称构建百度百科全书URL信息,分析网页元素,抓取优采云站点地址信息。网页元素如下图所示:

  

  3、所以我们只需要找出basicinfo项的标签内容中是否有“省”或“市”字符,然后输出它。最后,添加一个while-true循环。当IP能正常爬升数据时,断开环路;如果该IP已禁用,请立即重新请求一个新的IP进行爬网。直接代码如下图所示:

  

  4、其中for循环用于遍历所有优采云站点,try用于检测IP是否仍可使用。如果不是,请在中请求新的IP,但除外。爬行效果如下图所示:

  

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

  /4结论/

  本文基于pythonwebcrawler技术,主要介绍如何从IP代理网站和Python脚本中抓取可用IP,以验证IP地址的及时性。如果爬虫被禁止,可以使用此方法解决

  本文的代码已上载到GitHub。IP代理代码链接是:/c/python_uu;crawler/tree/master/IP_uuuo代理,我认为这很好。记得给一颗星星

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线