scrapy链接提取器,按html标签的值

时间:2019-06-05 14:11:09

标签: recursion scrapy tags

我正在使用scrapy来从其首页上抓取网站来抓取隐私权政策,我想智能地抓取包含特定关键字(隐私,数据,保护等)的页面内的特定链接。

我看到scrapy的CrawlSpider和LinkExtractor对象允许这样做,但是我希望LinkExtractor不仅将正则表达式应用于发现的链接,而且还应用于{ {1}}标签

例如,为了更好地识别以下情况:

<a></a>

其中,URL可能不是完美的匹配,但是HTML标记中的文本会更有帮助。

我看到scrapy的LinkExtractor对象已经有一个名为<a href="http://example.com/legal">Check out our privacy policy</a> 的参数,它可以对HTML标记内的文本启动操作,但是我不确定如何“返回正向链接匹配”(例如process_value参数中给出的regex表达式将),因此“将该链接添加到CrawlSpider对象要解析的事物列表中”

1 个答案:

答案 0 :(得分:0)

您将可以在Scrapy 1.7.0 或更高版本中执行此操作。参见#3635

所做的更改将restrict_text参数添加到LinkExtractor。来自master branch of the Scrapy documentation on LinkExtractor

  

restrict_text 正则表达式(或列表))–链接文本必须匹配的单个正则表达式(或正则列表)提取。如果未给出(或为空),则它将匹配所有链接。如果给出了正则表达式列表,则如果链接至少匹配一个链接,则将提取该链接。

相关问题