首页 > 解决方案 > 将正则表达式过滤器应用于爬虫以爬取特定页面

问题描述

我正在使用 Storm crawler 1.10 和 Elastic Search 6.3.x。例如,我有一个主网站https://www.abce.org,它有子页面https://abce.org/defhttps://abce.org/ghi. 我想专门抓取https://www.abce.org/ghi.

我的种子网址是https://www.abce.org/ghi/.

目前我每次都在不同的正则表达式过滤器下应用。

  1. +^https:\/\/www.abce.org\/ghi*
  2. +^(?:https?:\/\/)www.abce.org\/ghi(.+)*$
  3. +^(?:https?:\/\/)?(?:www\.)?abce\.[a-zA-Z0-9.\S]+$

我测试了我的正则表达式regexr它的显示有效。但是当我检查 statusindex 时,它的显示只发现了种子 url,没有别的。

标签: regexweb-crawlerstormcrawler

解决方案


试试FastURLFilter,你会发现它使用起来更直观。在调试模式下运行拓扑以检查您是否已将 URL 提交到 URLFilters,并且它们的行为符合您的预期。

在你问之前,这里有一个关于调试 Storm 的提示


推荐阅读