2013-11-27 63 views
1

我有成千上萬的URL列表。我想知道如何抓取聯繫人頁面並從「聯繫我們」頁面的網址抓取聯繫人數據?例如地址,電話和電子郵件。如何從許多網站上刮取聯繫人數據?

任何想法都會有所幫助。

我正在考慮使用正則表達式;他們將工作的電話和電子郵件,但刮地址是不可能的。

+0

定位的地址是命名實體識別任務。 NER是自然語言處理領域的一個領域。您可以嘗試使用例如斯坦福大學命名實體Recogizer具有.Net的實現: https://sergey-tihon.github.io/Stanford.NLP.NET/StanfordNER.html –

回答

1

簡答案是沒有一個萬能的方法來做到這一點..它涉及到一些基於您試圖刮的頁面的人類智能。

(1)收集信息(HTML)

既然你有你的範圍已經縮小到URL列表。實現它的正確方法是使用任何工具來首先收集HTML頁面。所以你有所有的HTML文件在本地,所以每次你調整你的代碼的正則表達式等。您不需要再花費幾小時打他們的服務器來收集數據。 注,這取決於你的目的,保存HTML文件之前閱讀服務條款

(2)解析

現在,你必須在你的筆記本電腦/服務器本地存儲的信息。現在,這只是如何解析HTML的問題。我對C#以及你的頁面列表看起來不太瞭解。如果您的聯繫人頁面實際上來自同一個網站......說社交媒體網頁將遵循相同的HTML設計(這是最好的情況),您可以使用一些HTML解析器(我使用python中的beautifulsoup)來輕鬆定位標籤並獲取該標籤內的內容。然後,您只需將該函數應用於您已存儲並完成作業的所有HTML。

如果所有來自不同站點的URL,那麼你只需要調整功能和人體識別,如果你的分析結果是否足夠好,繼續努力....