CrawlSpider 中 Deny 设置不起作用?如何正确使用 Deny 阻止特定 URL 链接?
scrapy crawlspider 中 deny 设置不起作用?
在 crawlspider 中,deny 设置可用于阻止爬取特定 url 链接。然而,根据提供的代码片段,deny 设置似乎没有正常工作,仍然爬取了包含 "guba" 的链接。
此问题可能是由于以下原因造成的:
deny 参数不是正则表达式
deny 参数必须是正则表达式,否则只有 url 完全匹配才可以被阻止。代码片段中使用的字符串不是正则表达式,因此它将只阻止完全匹配这些字符串的 url。
为了解决这个问题,需要将 deny 参数中的字符串修改为正则表达式。例如:
deny=(r'guba', r'data', r'fund.*.eastmoney.com/d+.html', r'.*so.eastmoney.*', r'/gonggao/')
这样一来,代码将阻止包含 "guba"、"data"、符合正则表达式 "fund..eastmoney.com/d+.html"、符合正则表达式 ".so.eastmoney.*" 和 "/gonggao/" 的链接。
以上就是CrawlSpider 中 Deny 设置不起作用?如何正确使用 Deny 阻止特定 URL 链接?的详细内容,更多请关注其它相关文章!