码界工坊

htykm.cn
人生若只如初见

怎么用robots.txt快速抓取网站

  在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的robots.txt文件,有时会给你打开另一扇抓取之门。
  写爬虫有很多苦恼的事情,比如:(推荐阅读:服务器日志是什么,服务器日志对SEO有什么帮助)
  1.访问频次太高被限制;
  2.如何大量发现该网站的URL;
  3.如何抓取一个网站新产生的URL,等等;
  这些问题都困扰着爬虫选手,如果有大量离散IP和账号,这些都不是问题,但是绝大部分公司都不具备这个条件的。
  我们在工作中写的爬虫大多是一次性和临时性的任务,需要你快速完成工作就好,当遇到上面情况,试着看下robots.txt文件。
  举个栗子
  老板给你布置一个任务,把豆瓣每天新产生的影评,书评,小组帖子,同城帖子,个人日志抓取下来。
  初想一下,这任务得有多大,豆瓣有1.6亿注册用户,光是抓取个人日志这一项任务,每个人的主页你至少每天要访问一次。
  这每天就得访问1.6亿次,小组/同城帖子等那些还没算在内。
  设计一个常规爬虫,靠着那几十个IP是完不成任务的。
  初窥robots.txt
  当老板给你了上面的任务,靠着你这一两杆枪,你怎么完成,别给老板讲技术,他不懂,他只想要结果。
  我们来看下豆瓣的robots.txt
  https://www.douban.com/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文件:
  https://www.tianyancha.com/robots.txt


  打开红框处的sitemap,里面有3万个公司的URL,上图是1月3号生成的,那个URL是根据年月日生成的,你把URL改成1月2号,又能看到2号的sitemap里的几万个公司URL,这样就能发现十几万个种子URL供你抓取了。
  PS:上面的sitemap其实也能解决抓取天眼查最近更新的,新产生URL的问题。
  小小的一个取巧,既降低了爬虫设计的复杂度,又降低了对方的带宽消耗。
  这在工作中非常适用,工作中不会在意你用的框架多好,只在意你做事的快慢和好坏。善于看robots.txt文件你会发现一些别有洞天的东西。
  文章出处:【AI科技大本营】欢迎添加关注!文章转载请注明出处。更多SEO工具资讯,尽在聚名资讯站!

未经允许不得转载 » 本文链接:http://htykm.cn/html/757c7599167.html

推荐文章

  • centos extract参数有哪些

    extract是一个在 CentOS 系统中用于解压缩文件的命令,通常与 tar命令一起使用。tar命令的 extract参数主要用于从归档文件中提取文件。以下是一些常用的 tar命令参数,它们可以与 ...

  • 服务器证书的申请和管理过程中要注意什么?

    对于任何一个网站或网络服务提供商来说,服务器证书的申请和管理都是确保网站安全的关键所在。服务器证书不仅能够验证网站的身份,还可以建立加密的通信通道,保护用户的隐私信息安全。因此,在申请和管理服务器证书 ...

  • 域名竞价经验分享

    在互联网时代,域名不仅是企业或个人在线身份的象征,更是品牌资产的重要组成部分。域名竞价,即通过竞拍的方式获取特定域名,已成为获取理想域名的重要途径。本文将分享一些域名竞价的策略、技巧和个人经验。1. ...

  • 域名注册个人和企业有何区别?

    域名不仅是一个网站地址,更是品牌身份和在线存在的关键。无论是个人还是企业,注册域名都是建立网络形象的第一步。然而,个人和企业在注册域名时面临不同的需求和考虑因素。本文将介绍个人和企业在域名注册过程中的 ...

  • Apache2在Ubuntu上如何配置缓存

    在Ubuntu上配置Apache2的缓存可以通过多种方式实现,包括使用mod_cache和mod_cache_disk模块。以下是一个基本的步骤指南,用于配置Apache2以使用磁盘缓存:安装必要的模 ...

  • dns域名是什么意思?

    在互联网的广阔世界中,DNS(Domain Name System,域名系统)扮演着至关重要的角色。它是一个全球性的、分布式的数据库,用于将易于记忆的域名转换为计算机能够识别的IP地址。本文将探讨DN ...

  • ssl证书匹配多域名吗?

    随着企业在线业务的扩展,单一域名已无法满足多样化的业务需求。多域名管理成为许多公司面临的挑战。SSL证书作为保障网络安全的关键工具,其在多域名环境下的匹配和应用尤为重要。本文将探讨SSL证书如何匹配多 ...

  • 虚拟主机怎么连接网络?

    虚拟主机连接网络是虚拟主机提供网站托管服务的基础,也是用户访问网站的前提。虚拟主机连接网络的过程涉及多个环节,包括域名解析、服务器配置和网络安全等。本文将详细介绍虚拟主机连接网络的相关知识。虚拟主机连 ...