from scrapy.linkextractors import LinkExtractor
scrapy shell "http://www.google.com/search?q=hello"
x=LinkExtractor(restrict_xpaths='//td[@class="b navend"]',restrict_text='Next').extract_links(response)
TypeError: __init__() got an unexpected keyword argument 'restrict_text'
我正在尝试从Google搜索中获取“下一个” URL,我想将提取的链接限制为仅“下一个”文本,我检查了Link-extractors docs应该怎么做才能解决此问题,因此我可以允许某些文字的链接?
答案 0 :(得分:0)
restrict_text(一个正则表达式(或列表))–一个正则 链接文本必须包含的表达式(或正则表达式列表) 匹配以便被提取。如果没有给出(或为空),它将匹配 所有链接。如果给出了正则表达式列表,则链接为 如果至少匹配一个,则提取。
请先阅读上述指南并了解它,然后再解决问题。您需要提供一个正则表达式而不是文本作为代码。另一种方法,如果愿意,可以使用xpath或CSS从html结果中提取任何元素。
我认为您可以先使用scrapy shell测试提取的数据。如果正确,则可以更轻松地将它们复制到您的代码项目中。
答案 1 :(得分:0)
restrict_text
是在Scrapy 1.7.0中添加的。
在阅读最新文档时,您必须使用较低版本的Scrapy。