首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接选择的简陋规则

链接选择的简陋规则
EN

Stack Overflow用户
提问于 2020-10-21 17:41:39
回答 1查看 31关注 0票数 0

我正在尝试在html方向上垂直抓取遵循一个简单规则的页面:

他们有/MLA####或/MLA-# (#作为随机数)

问题是,对于下面的代码,当/MLA####或/####MLA###页面出现时,scrapy只能检测到名称为/MLA-#的页面,我的scrapy代码不起作用,而且抓取是错误的

代码语言:javascript
复制
 rules =  (Rule(LinkExtractor(allow=r'/_Desde_'), follow=True),
        Rule(LinkExtractor(allow='/'+'MLA'), follow=True, callback='parse_items'))

以前是这样的:

代码语言:javascript
复制
 rules =  (Rule(LinkExtractor(allow=r'/_Desde_'), follow=True),
        Rule(LinkExtractor(allow=r'/MLA'), follow=True, callback='parse_items'))

那么,我该如何对我的代码说:我想要抓取所有包含MLA的链接,而不管这些单词之前或之后是什么。

感谢您的评论,致以问候

EN

回答 1

Stack Overflow用户

发布于 2020-10-21 19:45:11

事实上,'/' + 'MLA'完全等同于'/MLA' (:它是关于字符串连接的。您需要的是几个正则表达式。

我想Rule(LinkExtractor(allow=[r'\d+MLA', r'MLA-\d+'], follow=True, callback='parse_items')会为你工作的。读一读正则表达式--它是抓取的必备知识。在本例中,一切都很简单:我们有MLA和/d+,它们代表一个或多个数字。

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64460831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档