web-scraping - 想了解 Robots.txt
问题描述
我想抓取一个网站。但是,我想先了解 robots.txt。我不明白的行是
User-agent: *
Disallow: /*/*/*/*/*/*/*/*/
Disallow: /*?&*&*
Disallow: /*?*&*
Disallow: /*|*
用户代理行是否意味着任何地方都可以访问?但是后来我有了 Disallow 行,这是我关心的主要行。这是否意味着不访问 8 层深度,或者根本不访问?
解决方案
我相信人们只是简单地robot.txt
用regex
. 星星通常可以解释为任何东西/一切。
User-Agent 行User-agent: *
并不意味着您可以抓取所有内容,它只是意味着以下规则适用于所有 user-agents。以下是用户代理的示例
# Chrome Browser
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
# Python requests default
python-requests/2.19.1
必须遵守相同的规则,即:
例如
Disallow: /*?*&*
意味着您不允许抓取表单的子域/some_sub_domain?param_name=param_value
。或者该行
/*/*/*/*/*/*/*/*/
表示不允许抓取以下形式的子域/a/b/c/d/e/f/g/i/
最后,这里有一些有见地的例子和更多关于这个话题的例子。
推荐阅读
- javascript - 测试函数抛出 UnhandledPromiseRejectionWarning。导致测试不通过
- java - 春季批处理 - 在所有其他异常上跳过 MyException 停止
- wix - Wix Bootstrap 防止使用临时目录
- reactjs - react 15.5.4 支持哪个版本的材质 UI?
- objective-c - 弱(与强)对象引用的寿命是多少?
- javascript - 如何在 React 中找到功能子项的 DOM 元素?
- c - 说文件为 NULL 而不是关闭它有什么缺点?
- kubernetes - 用于 Kubernetes (cbopctl) 的 Couchbase Operator 工具不支持“oidc”身份验证
- c# - 验证查询参数而不使用 .netcore api 中的模型
- powershell - 如何格式化输出错误以使服务器不列出两次?