什么是网络爬虫?
网络爬虫是互联网机器人 (机器人)旨在跨网站移动并索引所有可用内容。 通常简称为爬虫或蜘蛛,它们的行为帮助搜索引擎收集数据。 这些数据反过来有助于改善搜索结果。
互联网每天都在增长。 随着越来越多的人访问网络,网站的数量也在增加。 今天有超过 2 亿个网站可用。 搜索引擎需要付出巨大的努力来监视这些数据量。
与其他所有技术一样,爬虫只是工具,可用于好坏。 不是所有的爬虫都有用,太多的坏爬虫会影响你的 网站表现 在最坏的情况下,甚至会关闭您的网站。
网络爬虫如何工作?
由于在线信息量巨大,搜索引擎使用爬虫来组织信息以提高性能。 Crawlers 所做的工作有助于他们更快地索引和提供信息。
以类似于如何组织书籍的方式来考虑这个过程。 如果没有内容页面和结构,这本书将是一个可读但混乱的单词集合。 Crawler 扫描可用的内容,然后以有组织的形式将其列出,从而创建一个目录。
这样,当有人查找某些内容时,快速浏览目录就足够了。 与此相比,每次您想要查找某些内容时,查看整个页面集合将花费更多时间。
为了处理这项艰巨的任务,爬虫通常会得到一些增强的指令来帮助他们做出决策。 例如;
- 重要性的相对性 – 有了这么多可行的信息,爬虫有能力判断从一页到另一页内容的重要性。 他们这样做是基于某些因素,如链接数量和网络流量。
- 重新爬行 – 网页内容经常变化。 爬虫还能够估计在索引中需要扫描或重新评估页面的频率。 这有助于使搜索结果保持最新。
处理爬虫
鉴于爬虫在帮助网站所有者在搜索中列出其内容方面的重要性,您需要正确处理它们。 帮助使 Crawler 的工作更轻松对站点所有者有利。
建立站点地图
有多种方法可以做到这一点,例如包含 网站地图. 通过创建站点地图,您实质上是在帮助爬虫创建索引并列出最受关注的内容uci为他们提供所有信息。
更重要的是,您可以帮助澄清页面之间的关系。 这比依靠 Crawler 的指令来搞清楚网站的结构要有效得多。 值得庆幸的是,站点地图可以相对容易地生成。
使用 Robots.txt
您还应该始终包括一个 机器人.txt 文件. 网站通常包含许多文件,但并非所有文件都对您的搜索配置文件很重要。 在您的 robots.txt 文件中为 Crawler 明确应该或不应该抓取的内容对双方都非常有帮助。
robots.txt 文件还可以帮助您阻止某些爬虫为您的网站编制索引。 并非所有爬虫都适用于搜索引擎——有些可能只是为了窃取数据。
相关读物
了解你的爬虫
知道什么是常见和有用的爬虫是保持你身边没有坏人的关键。 最好让最知名的搜索引擎索引您的网站,但对其他人来说,这确实是个人选择。
您应该注意(并允许)的主要爬虫是 Googlebot的 (有一些变体,例如 Googlebot Desktop、Googlebot Mobile 和 Mediabot)、Bing 与 Bingbot,百度同 百度蜘蛛, 和 Yandex 与 Yandex 机器人.
使用 robots.txt 文件避免不良爬虫可能很困难,因为许多爬虫都是即时创建的。 这意味着您需要创建一系列针对它们的防御措施。 避免这些爬虫的一些方法是采取基于挑战或行为的方法。
或者,您可以简单地使用机器人管理服务,例如由 Cloudflare 和 Imperva的 (等等)。
构建网络爬虫
对于好奇的人,除了帮助搜索引擎索引页面外,还构建并用于抓取数据的爬虫。 像这样的爬虫比搜索引擎爬虫的目的更具体。 他们的主要目标是收集特定类型的数据——并不总是用于善意的用途。
构建 Crawler 可能不是最简单的事情,但如果您有一些技术技能,则可能。 可以用相对较少的代码构建简单的爬虫 编程 诸如 蟒蛇.
从技术上讲,您的代码只需要做三件事; 发送并等待 HTTP 响应,解析站点上的页面,然后搜索解析树。 使用 Python 构建网络爬虫比其他方法简单得多,例如 爪哇岛. 对于现实世界的应用程序,网络报废代理,如 爬虫API 可能是一个简单的 JS 渲染和绕过反机器人技术的好主意。
最后
管理好处理网络爬虫的方式很重要,因为它们会影响网站的两个重要区域 opera系统。 第一个是搜索索引,第二个是性能。
处理它们的最佳方法是采取平衡的方法,因为一点点灵活性可以大有帮助。