鉴于这些种子网址:
http://greenbook.americansalon.com/cat/Haircolor.htm
http://greenbook.americansalon.com/cat/Cosmetics.htm
http://greenbook.americansalon.com/cat/Shampoos-and-Conditioners.htm
我想通过仅符合以下规则的网址抓取(通过Nutch 1.4):
http://greenbook.americansalon.com/cat/
之后,其他任何内容都无法进入网址。http://greenbook.americansalon.com/company/...
都是可以接受的。当然,提及种子网址并不能保证,因为可以从中获取其他类别。
我想要一个正则表达式否定:
http\:\/\/greenbook\.americansalon\.com\/([leaf|cat]+\/[^Haircolor|Cosmetics|Shampoos].*)
并合并
http\:\/\/greenbook.americansalon.com\/company\/.*
和任何其他网站(.+
) - (例如 - http://www.spilo.com/index.asp
也应该被捕获)。
换句话说 - 按照我提到的规则,给我所有网址(包括除#34; greenbook.americansalon"之外的其他域名)。
答案 0 :(得分:1)
好像你想要这样的东西,
http\:\/\/greenbook\.americansalon\.com\/(?:(leaf|cat)\/(?:Haircolor|Cosmetics|Shampoos)\b|company\b).*
答案 1 :(得分:1)
此正则表达式根据您的规则匹配有效的URL:
http((\:\/\/greenbook\.americansalon\.com\/(((leaf|cat)\/(Haircolor|Cosmetics|Shampoos))|company\b).*)|(s?\:\/\/(?!greenbook\.americansalon\.com).*))
答案 2 :(得分:0)
如果你想要单独的正则表达式。然后第一个可以是:
http\:\/\/greenbook\.americansalon\.com\/leaf|cat\/(?=Haircolor|Cosmetics|Shampoos).*
其他两个看起来很好。