![如果我们不知道某个 URL 属于哪个文件夹,那么我们如何知道哪些 URL 可以被抓取,就像 robots.txt 所说的那样?](https://linux22.com/image/1580326/%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E4%B8%8D%E7%9F%A5%E9%81%93%E6%9F%90%E4%B8%AA%20URL%20%E5%B1%9E%E4%BA%8E%E5%93%AA%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E9%82%A3%E4%B9%88%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E5%93%AA%E4%BA%9B%20URL%20%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8A%93%E5%8F%96%EF%BC%8C%E5%B0%B1%E5%83%8F%20robots.txt%20%E6%89%80%E8%AF%B4%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9F.png)
我准备编写一个网络爬虫,但在此之前我想知道可以爬取什么。
如果我错了请告诉我,但是在 robots.txt 中网站指示的是文件夹而不是可以和不能抓取的 URL,那么我们如何知道 URL 属于哪个文件夹?
答案1
该robots.txt
文件排除目录前缀。比如你有一个robots.txt
排除目录/foo
,那么/foo/bar.html
一定不能被抓取。
对于您想要抓取的任何 URL,您必须检查其路径是否与 robots 文件中的某个指令匹配。
查看Google 文档更多信息和示例:
路径值用作确定规则是否适用于网站上的特定 URL 的基础。除通配符外,路径用于匹配 URL 的开头(以及以相同路径开头的任何有效 URL)。
请注意,URL 不必表明实际的服务器上的目录。/download.php?what=thestuff
在功能上可以等同于/download/thestuff
并指向相同的资源。