2017-04-30 26 views
1

我想對具有不同結構的多個網站進行網頁爬網以查找特定數據。不過,我有一些關鍵字可以幫助我找到自己想要的東西。爲了更清楚起見,我想從大學的網站上提取一系列教授姓名,並將其放在給定的大學名單上。關鍵詞在這裏可以是名字前面的「教授」,「教授」或「博士」以及姓名後面的電子郵件。但是,處理每個網站所具有的不同html結構有點難度。針對具有不同結構的多個網站的網頁爬行

您的建議是什麼?

回答

3

這取決於。

選項1:如果「多個網站」意味着少數,也許最多10個,您可以嘗試爲他們每個人建立一個單獨的刮板。

優點:您可以得到確切的結果,並獲得所有結果。

缺點:每當一個網站改變刮刀斷開點並需要調整時,當網站數量超過100個或更多時,這將會工作太多。

選項2:如果「多個網站」意味着真的很多網站,爲每個網站建立一個刮板最可能是太昂貴了。在這種情況下,我能想到的唯一其他選項是構建一個通用爬網程序,它可以爬取所有網站,然後對結果運行NLP算法以提取所需的數據。

我介紹了綜述如基於NLP處理流水線,會是什麼樣子在最近的一次,有點類似的問題:How to crawl thousands of pages using scrapy?

優勢:一旦運行和微調,不要緊是否有100S或1000個要處理的站點,並且在站點更改時它非常強大。

缺點:啓動和運行比寫一個刮板更困難,你永遠不會得到100%的結果,也不會100%準確。

+0

選項2正是我想要的。請問在哪裏可以找到這樣一個包的樣本?或者至少,我應該從哪裏開始?我不是編程專家,我敢打賭,你已經從我的問題中猜出了它。所以,任何幫助將不勝感激。 –

+1

不幸的是,這種系統還沒有現成的包裝,因爲這樣的系統相當複雜,必須針對每個領域進行調整和培訓。當我構建這樣的系統時,通常需要花費2-3個月的時間才能完成數個人工周的工作。如果你對編程有基本的瞭解,並想學習如何做到這一點,那麼一個好的起點就是學習NLP(自然語言處理)的基礎知識。有很多關於此的好書。 – rrschmidt

+1

非常感謝。我實際上已經找到了這個[http://www.nltk.org/book/],並且很高興看到我能用它做些什麼。 –