重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关爬虫时IP总是被封该怎么办,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
站在用户的角度思考问题,与客户深入沟通,找到乳山网站设计与乳山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名、雅安服务器托管、企业邮箱。业务覆盖乳山地区。
在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 robots.txt 文件,有时会给你打开另一扇抓取之门。
写爬虫有很多苦恼的事情,比如:
1.访问频次太高被限制;
2.如何大量发现该网站的 URL;
3.如何抓取一个网站新产生的 URL,等等;
这些问题都困扰着爬虫选手,如果有大量离散 IP 和账号,这些都不是问题,但是绝大部分公司都不具备这个条件的。
我们在工作中写的爬虫大多是一次性和临时性的任务,需要你快速完成工作就好,当遇到上面情况,试着看下 robots.txt 文件。
举个栗子:
老板给你布置一个任务,把豆瓣每天新产生的影评,书评,小组帖子,同城帖子,个人日志抓取下来。
初想一下,这任务得有多大,豆瓣有 1.6 亿注册用户,光是抓取个人日志这一项任务,每个人的主页你至少每天要访问一次。
这每天就得访问 1.6 亿次,小组/同城帖子等那些还没算在内。
设计一个常规爬虫,靠着那几十个 IP 是完不成任务的。
初窥robots.txt
当老板给你了上面的任务,靠着你这一两杆枪,你怎么完成,别给老板讲技术,他不懂,他只想要结果。
我们来看下豆瓣的 robots.txt。
看图片上面红框处,是两个 sitemap 文件
打开 sitemap_updated_index 文件看一下:
里面是一个个压缩文件,文件里面是豆瓣头一天新产生的影评,书评,帖子等等,感兴趣的可以去打开压缩文件看一下。
也就是说每天你只需要访问这个 robots.txt 里的 sitemap 文件就可以知道有哪些新产生的 URL。
不用去遍历豆瓣网站上那几亿个链接,极大节约了你的抓取时间和爬虫设计复杂度,也降低了豆瓣网站的带宽消耗,这是双赢啊,哈哈。
上面通过 robots.txt 的 sitemap 文件找到了抓取一个网站新产生 URL 的偏方。沿着该思路也能解决发现网站大量 URL 的问题。
再举个栗子:
老板又给你一个任务,老板说上次抓豆瓣你说要大量 IP 才能搞定抓豆瓣每天新产生的帖子,这次给你 1000 个 IP 把天眼查上的几千万家企业工商信息抓取下来。
看着这么多 IP 你正留着口水,但是分析网站后发现这类网站的抓取入口很少(抓取入口是指频道页,聚合了很多链接的那种页面)。
很容易就把储备的 URL 抓完了,干看着这么多 IP 工作不饱满。
如果一次性能找到这个网站几万乃至几十万个 URL 放进待抓队列里,就可以让这么多 IP 工作饱满起来,不会偷懒了。
我们来看他的robots.txt文件:
打开红框处的 sitemap,里面有 3 万个公司的 URL,上图是 1 月 3 号生成的,那个URL 是根据年月日生成的,你把 URL 改成 1 月 2 号,又能看到 2 号的sitemap里的几万个公司 URL,这样就能发现十几万个种子 URL 供你抓取了。
PS:上面的 sitemap 其实也能解决抓取天眼查最近更新的,新产生 URL 的问题。
小小的一个取巧,既降低了爬虫设计的复杂度,又降低了对方的带宽消耗。
关于爬虫时IP总是被封该怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。