2017-02-25 12 views
0

我seed.txt的內容是https://www.drugs.com,我想抓取與結構頁面作爲Nutch的1.12的正則表達式URL過濾無法形成正則表達式

​​uniqueDrugName的.html

例我想要抓取的網頁是

  1. https://www.drugs.com/cdi/acetaminophen.html
  2. https://www.drugs.com/cdi/refludan.html
  3. https://www.drugs.com/cdi/Erbitux.html
  4. https://www.drugs.com/cdi/ontak.html

,我想爬幾這些藥物頁面。 請建議如何或什麼正則表達式我應該使用,因爲我是一個正則表達式的新手。謝謝。

我曾嘗試以下的正則表達式,但他們沒有工作

+^https://([a-z0-9]*\.)*drugs\.com/cdi/([a-z0-9]*\.)*html 
+0

在你的正則表達式開始時''是什麼意思? – ltux

+0

@ltux'+'需要讓nutch知道滿足這個表達式的url需要被接受,並且滿足以'-'開頭的表達式的urls應該被忽略。對於**示例**請參閱[鏈接](https://github.com/kinow/nutch/blob/master/conf/regex-urlfilter.txt.template) –

+0

我也面臨類似的問題,在這裏發佈的問題http ://stackoverflow.com/questions/42497690/nutch-not-crawling-urls-except-the-one-specified-in-seed-txt但沒有反應yet.Please讓我知道你是否能夠解決它。 – Torukmakto

回答

0

它並不完全清楚自己想要什麼,但我做了一些更正你的正則表達式。它現在匹配你的例子。

(?m)^https:\/\/.*drugs\.com\/cdi\/.*\.html

  • (?m)可以確保^會工作。
  • /個字符已被轉義。
  • 沒有必要使用[a-z0-9]*。我用.*取代了這個。

如果這不是你想要的,請編輯你的問題,包括一些更多的例子,並在評論中通知我。

+0

抱歉它沒有改變結果。還需要'(?m)'的'+'來讓nutch知道這個表達式(以'+'開頭的)應該被抓取並且exp。以'-'開頭需要忽略。參見[this](https://github.com/kinow/nutch/blob/master/conf/regex-urlfilter.txt.template) –

+0

正如前面提到的[這裏](https://wiki.apache.org/nutch/ NutchTutorial#A3._Crawl_your_first_website)'+^http://([a-z0-9] * \。)* nutch.apache.org /'如果您希望限制抓取到'nutch.apache',將會被使用。 org'域 –