1

我想抓取 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]*\/)*
4

2 回答 2

0

我不知道 nutch,但你试试:

+^http://www.techcrunch.com/2013/[0-9]{2}/[0-9]{2}.*$

或者

+^http://www.techcrunch.com/2013/[0-9]+/[0-9]+.*$
于 2013-07-22T21:37:59.010 回答
0

以下表达式将匹配您需要的 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匹配两位数。

关于设置正则表达式,请查看此答案以查看它是否对您有所帮助。

于 2013-07-22T22:57:01.537 回答