CrawlSpider 中 Deny 设置不起作用?如何正确使用 Deny 阻止特定 URL 链接?

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 链接?的详细内容,更多请关注其它相关文章!