Я использую scrapy для очистки политик конфиденциальности, сканируя веб-сайт с его домашней страницы как таковой, и хочу интеллектуально сканировать конкретные ссылки на страницах, содержащих конкретные ключевые слова (конфиденциальность, данные, защита и т. Д.).
Я видел, что CrawlSpider и объект LinkExtractor в scrapy позволяют именно это, однако я бы хотел, чтобы LinkExtractor не только применял регулярное выражение к обнаруженным ссылкам, но и к текст в тегах <a></a>
Чтобы, например, лучше определить случаи, подобные этим:
<a href="http://example.com/legal">Check out our privacy policy</a>
В котором URL-адрес может быть не совсем подходящим, но текст в тегах HTML более полезен.
Я видел, что объект LinkExtractor scrapy уже имеет аргумент под названием process_value
, который может запустить операцию над текстом в теге HTML, но я не уверен, как я мог бы "вернуть совпадение с положительной ссылкой" (как выражение регулярного выражения) указывается в параметре allow
) и, таким образом, «добавляет эту ссылку в список объектов для анализа объектом CrawlSpider»