我想抓取 2013 年 1 月 1 日之后上传的 Techcrunch 的页面。网站遵循模式
http://www.techcrunch.com/YYYY/MM/DD
所以我的问题是如何在 nutch 中设置 urlfilter 中的正则表达式,以便我只能抓取我想要的页面。
+^http://www.techcrunch.com/2013/dd/dd/([a-z0-9\-A-Z]*\/)*
我不知道 nutch,但你试试:
+^http://www.techcrunch.com/2013/[0-9]{2}/[0-9]{2}.*$
或者
+^http://www.techcrunch.com/2013/[0-9]+/[0-9]+.*$
以下表达式将匹配您需要的 URL:
无组
http:\/\/www.techcrunch.com\/\d{4}\/\d{2}\/\d{2}\/\w+
与团体
http:\/\/www.techcrunch.com\/(\d{4})\/(\d{2})\/(\d{2})\/(\w+)
我没有放锚(^$
),但是如果您需要它们进行过滤,您可以放它们。
尝试它们,看看它们中的任何一个是否有效。
我不知道 nutch 是如何工作的,但是关于您的正则表达式的一些建议可能适用: 正则/
表达式中的 应该被转义;dd
零件应该\d\d
匹配两位数。
关于设置正则表达式,请查看此答案以查看它是否对您有所帮助。