如何禁止robots.txt中的所有动态网址
Disallow: /?q=admin/ Disallow: /?q=aggregator/ Disallow: /?q=comment/reply/ Disallow: /?q=contact/ Disallow: /?q=logout/ Disallow: /?q=node/add/ Disallow: /?q=search/ Disallow: /?q=user/password/ Disallow: /?q=user/register/ Disallow: /?q=user/login/
我想禁止所有以/?q =开头的事情
您的问题的答案是使用
Disallow: /?q=
robots.txt上最好的(当前可访问的)源代码我可以在维基百科上找到.(据称最权威的来源是http://www.robotstxt.org,但网站现在已经关闭了.)
根据维基百科页面,该标准仅定义了两个字段; UserAgent:和Disallow:Disallow:字段不允许显式通配符,但每个"不允许"的路径实际上是路径前缀; 即匹配任何以指定值开头的路径.
Allow:字段是非标准扩展,Disallow中对显式通配符的任何支持都是非标准扩展.如果您使用这些,则无权期望(合法)网络爬虫能够理解它们.
这不是爬虫"聪明"或"愚蠢"的问题:它完全是关于标准合规性和互操作性.例如,在"Disallow:"中使用显式通配符执行"智能"操作的任何Web爬网程序对于(假设的)robots.txt文件都是不利的,其中这些字符旨在按字面解释.