登录
首页 >  文章 >  python教程

Scrapy Crawlspider中的deny设置无效?如何正确使用正则表达式进行URL过滤?

时间:2024-12-05 17:37:04 112浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Scrapy Crawlspider中的deny设置无效?如何正确使用正则表达式进行URL过滤?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

Scrapy Crawlspider中的deny设置无效?如何正确使用正则表达式进行URL过滤?

scrapy crawlspider中的deny设置无效?

问题:使用rule设置了deny参数,但发现运行时仍然爬取了包含deny关键词的链接。例如,设置了deny=(“guba”、“data”...),但发现爬取了包含“guba”的链接。

解答:deny参数的设置需要遵循正则表达式语法。如果deny参数不是正则表达式,则只有当网址完全匹配deny关键词时才会被拒绝。

在给出的代码中,deny参数中的值(如“guba”、“data”)没有使用正则表达式语法。因此,只有当网址完全包含这些字符串时才会被拒绝。而“guba.eastmoney.com/list,of166401.html”这样的网址虽然包含“guba”,但不是完全匹配,所以不会被deny参数拒绝。

要正确使用deny参数,需要将其修改为正则表达式,例如:

deny=(r'guba', r'data')

理论要掌握,实操不能落!以上关于《Scrapy Crawlspider中的deny设置无效?如何正确使用正则表达式进行URL过滤?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>