抓取网页生成电子书(网站遇到瓶颈怎么办?如何打开另一扇之门?)
优采云 发布时间: 2021-12-18 12:06抓取网页生成电子书(网站遇到瓶颈怎么办?如何打开另一扇之门?)
当我在爬取网站时遇到瓶颈,想上边解决,经常会先查看网站的robots.txt文件,有时还会再打开一个你去捕捉它。门。
写爬虫有很多苦恼的地方,比如:
1. 访问频率太高,受限;
2.如何大量找到这个网站的网址;
3.如何抓取网站新生成的URL等;
这些问题都困扰着爬虫。如果有大量离散的IP和账号,这些都不是问题,但大多数公司不具备这个条件。
我们工作中编写的爬虫大多是一次性的、临时的任务,需要你快速完成工作。当你遇到上述情况时,尝试查看robots.txt文件。
举个栗子:
老板给你分配任务,捕捉豆瓣每天生成的每日影评、书评、群帖、同城帖、个人日志。
想想这个任务有多大。豆瓣拥有1.6亿注册用户。对于抓取个人日志的任务,您必须每天至少访问一次每个人的主页。
这将不得不每天访问1. 6 亿次,并且不计算群组/同城帖子。
设计一个传统的爬虫不能依靠几十个IP来完成任务。
先看robots.txt
当boss给你以上任务的时候,靠你的两把*敏*感*词*,你是怎么完成的,不要把技术告诉boss,他不懂,他只想要结果。
我们来看看豆瓣的robots.txt
看图片上方的红框,里面有两个sitemap文件
打开 sitemap_updated_index 文件并查看:
有一个一个的压缩文件。里面是豆瓣头一天新生成的影评、书评、帖子等。有兴趣的可以打开压缩包看看。
换句话说,你只需要每天访问robots.txt中的站点地图文件,就可以知道哪些URL是新生成的。
无需遍历豆瓣网站上的亿万个链接,大大节省了你的爬虫时间和爬虫设计的复杂度,同时也降低了豆瓣网站的带宽消耗。这是双赢的,哈哈。
robots.txt 的站点地图文件找到了获取上面新生成的 URL 网站 的方法。沿着这个思路也可以解决查找大量URL的问题网站。
再给一个栗子:
老板给你另一个任务。老板说上次豆瓣发的新帖需要很多IP。这一次,我给你1000个IP,捕捉天眼查过的千万家企业的商业信息。.
看了这么多IP,流口水了,但是分析网站后发现,这种网站的爬取入口很少(爬取入口指的是频道页面,那种聚合许多链接的页面))。
获取保留的 URL 很容易,而且查看这么多 IP 也不是很忙。
如果性能发现这个网站几万甚至几十万个URL,放到等待队列中,可以让这么多IP工作满,不会偷懒。
我们来看看他的 robots.txt 文件:
/机器人.txt
打开红框中的站点地图,有30,000个公司网址。上图是1月3日生成的,URL是根据年月日生成的。你可以把网址改成1月2号,又可以看到2号站点地图有几万个公司网址,所以你可以找到几十万个*敏*感*词*网址供你爬取。
PS:上面的sitemap其实可以解决天眼查新更新新生成的URL爬取的问题。
一个小技巧不仅降低了爬虫设计的复杂度,还降低了对方的带宽消耗。
这在工作中非常适用。在工作中,你不关心你使用的框架有多好,只关心你做事有多快,它有多好。
如果你善于查看 robots.txt 文件,你会发现一些独特的东西。