2013-03-05 98 views
0

我希望我的程序自動從網站上下載某些信息。在發現這幾乎是不可能的之後,我想如果程序只是下載整個網頁,然後在字符串中找到我需要的信息,那將是最好的。如何爲網站刮取信息?

如何在特定單詞後面找到某些單詞/數字?之前我想要的號碼是總是一樣。這個數字不一樣,這是我在我的程序中需要的數字。

+0

可否請您發表示例文字? – BergListe 2013-03-05 10:23:54

+0

首先您需要確保該單詞是唯一的,然後您可以使用http://msdn.microsoft.com/de-de/library/system.text.regularexpressions.regex(v=vs.80).aspx – Vogel612 2013-03-05 10:24:09

+0

爲了清晰起見,我編輯了您的問題,並使用社區更爲熟悉的詞組。如果我的任何更改不正確,請進行編輯以澄清您的問題。 – 2013-03-05 10:24:18

回答

3

聽起來像屏幕抓取。我推薦使用CSQuery https://github.com/jamietre/CsQuery(或者HtmlAgilityPack,如果你想的話)。獲取源代碼,解析爲對象,遍歷所有文本節點並在那裏進行字符串比較。這樣做的實際方式會改變源HTML的完成方式。

莫比像從內存(CSQuery)寫了這個未經測試的例子

var dom = CQ.Create(stringWithHtml); 
dom["*"].Each((i, e) => 
{ 
    // handle only text nodes 
    if (e.NodeType == NodeType.TEXT_NODE) { 
     // do your check here 
    } 
} 
1

我用HTML Agility Pack多個應用程序和它工作得很好。很多選項也是如此。

這是一個可愛的HTML解析器,通常爲此推薦。它將採用格式不正確的HTML並將其按摩到XHTML中,然後像XML類一樣穿越DOM。所以,對於你在野外找到的代碼非常有用。