爬虫抓取网页数据( 网站遇到瓶颈怎么办?如何打开另一扇之门?)

优采云 发布时间: 2022-01-04 05:00

  爬虫抓取网页数据(

网站遇到瓶颈怎么办?如何打开另一扇之门?)

  

  当我在爬取网站时遇到瓶颈,想上边解决,往往会先查看网站的robots.txt文件,有时再打开一个为你抓住门。

  写爬虫有很多苦恼的地方,比如:

  1.访问频率太高,受限;

  2.如何大量找到这个网站的网址;

  3.如何抓取网站新生成的URL等;

  

  这些问题困扰着爬虫。如果有大量离散的IP和账号,这些都不是问题,但大多数公司不具备这种条件。

  我们工作中编写的爬虫大部分都是一次性的、临时的任务,需要你快速完成工作。当你遇到上述情况时,尝试查看robots.txt文件。

  举个栗子:

  老板会给你分配任务,捕捉豆瓣每天生成的影评、书评、群帖、同城帖、个人日志。

  想想这个任务有多大。豆瓣拥有1.6亿注册用户。对于抓取个人日志的任务,您必须每天至少访问一次每个人的主页。

  这将不得不每天访问 1.6 亿次,并且不计算群组/同城帖子。

  设计一个常规爬虫,依靠几十个IP是无法完成任务的。

  先看robots.txt

  当boss给你以上任务的时候,靠你的两把*敏*感*词*,你是怎么做到的,技术不要告诉boss,他不懂,他只求结果。

  来看看豆瓣的robots.txt

  

  看图片上方的红框,有两个站点地图文件

  打开 sitemap_updated_index 文件并查看:

  

  里面有一个一个的压缩文件。文件里面是豆瓣第一天新生成的影评、书评、帖子等。有兴趣的可以打开压缩包看看。

  这意味着您只需要每天访问 robots.txt 中的站点地图文件即可知道哪些 URL 是新生成的。

  无需遍历豆瓣网站上的亿万个链接,大大节省了你的爬虫时间和爬虫设计的复杂度,同时也降低了豆瓣网站的带宽消耗。这是一个双赢的局面。啊哈哈。

  robots.txt 的站点地图文件在上面找到了获取新生成的 URL 网站 的方法。沿着这个思路也可以解决查找大量URL的问题网站。

  再来一个栗子:

  老板给了你另一个任务。老板说上次豆瓣发的新帖需要很多IP。这一次,我给你1000个IP,查查天眼查过的千万家公司的业务信息。抓住它。

  看了这么多IP,流口水了,但是分析了网站,发现网站这种类型的爬取入口很少(爬取入口是指频道页面,聚合了很多链接那种页面)。

  抢到预留的网址很容易,看这么多IP也不是很忙。

  如果性能发现这个网站几万甚至几十万个URL,放到等待队列中,那么这么多IP就可以填满工作,不会偷懒了。

  让我们看看他的 robots.txt 文件:

  

  

  

  打开红色框中的站点地图。其中有 30,000 个公司 URL。上图是1月3日生成的,那个URL是根据年月日生成的。你把网址改成1月2号,然后你就可以在2号站点地图看到几万个公司网址,这样你就可以找到几十万个*敏*感*词*网址供你爬取。

  PS:上面的sitemap其实可以解决天眼查新更新新生成网址的爬取问题。

  一个小技巧不仅降低了爬虫设计的复杂度,也减少了对方的带宽消耗。

  这在工作中非常适用。在工作中,你不在乎你使用的框架有多好,只在乎你做事有多快,有多好。

  善于查看 robots.txt 文件,你会发现一些独特的东西。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线