为了账号安全,请及时绑定邮箱和手机立即绑定

crawlspider如何修改Rule解析过的链接?

crawlspider如何修改Rule解析过的链接?

慕勒3428872 2019-02-17 09:45:36
经过Rule解析的链接还需要再加工一下,例如: rules = { 'eastmoney':( Rule(LinkExtractor(allow='/a/\d+.html', restrict_xpaths='//*[@id="newsListContent"]//*[@class="title"]'),callback='parse_item', follow=True), Rule(LinkExtractor(restrict_xpaths='//*[@id="ContentBody"]/div[3]/div/a/@href')), Rule(LinkExtractor(restrict_xpaths='//div[@id="pagerNoDiv"]//a[contains(.,"下一页")]'), follow=True) ) } 这里定义了三个Rule,第一个是详情页链接的解析规则,第二个是详情页翻页的解析规则(详情页翻页没有下一页这种,而是把页码都列出来了,所以这里想获取翻页代码区域的所有href,不过是失败的...求解答)第三个是列表页翻页的解析规则。当start_urls的链接经过详情页的解析规则之后,获得了详情页的链接,但是这里获得的详情页链接还需要再加工一下(在链接中拼接字符串),请问应该在哪里添加什么步骤呢?
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

downloadermiddleware里定义process_requests,这里经过所有链接,只要把详情页URL匹配出来拼接一下,return response就行了

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 641 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信