Python 刮擦链接提取器在链接末尾添加等号
我正在尝试使用以下规则解析论坛:Python 刮擦链接提取器在链接末尾添加等号,python,scrapy,Python,Scrapy,我正在尝试使用以下规则解析论坛: rules = (Rule(LinkExtractor(allow=(r'page-\d+$')), callback='parse_item', follow=True),) 我尝试过几种方法,开始时使用/不使用r,模式末尾使用/不使用$,等等。但是每次scrapy生成以等号结尾的链接时,即使页面上和模式中都没有=in链接 这里有一个提取链接的示例(也使用parse_start_url,因此开始url也在这里,是的,我尝试删除它-它没有帮助): 用于收集链接
rules = (Rule(LinkExtractor(allow=(r'page-\d+$')), callback='parse_item', follow=True),)
我尝试过几种方法,开始时使用/不使用r,模式末尾使用/不使用$,等等。但是每次scrapy生成以等号结尾的链接时,即使页面上和模式中都没有=in链接
这里有一个提取链接的示例(也使用parse_start_url,因此开始url也在这里,是的,我尝试删除它-它没有帮助):
用于收集链接的命令:
scrapy parse http://www.bmwclub.ru/index.php?threads/bamper-novyj-x6-torg-umesten-150000rub.1051898/ --noitems --spider bmwclub
命令的输出:
>>> STATUS DEPTH LEVEL 1 <<<
# Requests -----------------------------------------------------------------
[<GET http://www.bmwclub.ru/index.php?threads/bamper-novyj-x6-torg-umesten-150000rub.1051898/>,
<GET http://www.bmwclub.ru/index.php?threads%2Fbamper-novyj-x6-torg-umesten-150000rub.1051898%2Fpage-2=>,
<GET http://www.bmwclub.ru/index.php?threads%2Fbamper-novyj-x6-torg-umesten-150000rub.1051898%2Fpage-3=>]
>>状态深度级别1这是因为规范化问题
您可以在LinkExtractor
上禁用它,如下所示:
rules = (
Rule(LinkExtractor(allow=(r'page-\d+$',), canonicalize=False), callback='parse_item'),
)
我无法重现错误,在这里工作正常。尝试将您的scrapy
版本更新到1.1.0。否则,给我一个对你不起作用的链接。@Rafaelalmeda更新了scrapy-它不起作用,但谢谢你的尝试。还添加了蜘蛛的代码。
>>> STATUS DEPTH LEVEL 1 <<<
# Requests -----------------------------------------------------------------
[<GET http://www.bmwclub.ru/index.php?threads/bamper-novyj-x6-torg-umesten-150000rub.1051898/>,
<GET http://www.bmwclub.ru/index.php?threads%2Fbamper-novyj-x6-torg-umesten-150000rub.1051898%2Fpage-2=>,
<GET http://www.bmwclub.ru/index.php?threads%2Fbamper-novyj-x6-torg-umesten-150000rub.1051898%2Fpage-3=>]
rules = (
Rule(LinkExtractor(allow=(r'page-\d+$',), canonicalize=False), callback='parse_item'),
)