我希望我的程序自動從網站上下載某些信息。在發現這幾乎是不可能的之後,我想如果程序只是下載整個網頁,然後在字符串中找到我需要的信息,那將是最好的。如何爲網站刮取信息?
如何在特定單詞後面找到某些單詞/數字?之前我想要的號碼是總是一樣。這個數字不一樣,這是我在我的程序中需要的數字。
我希望我的程序自動從網站上下載某些信息。在發現這幾乎是不可能的之後,我想如果程序只是下載整個網頁,然後在字符串中找到我需要的信息,那將是最好的。如何爲網站刮取信息?
如何在特定單詞後面找到某些單詞/數字?之前我想要的號碼是總是一樣。這個數字不一樣,這是我在我的程序中需要的數字。
聽起來像屏幕抓取。我推薦使用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
}
}
我用HTML Agility Pack多個應用程序和它工作得很好。很多選項也是如此。
這是一個可愛的HTML解析器,通常爲此推薦。它將採用格式不正確的HTML並將其按摩到XHTML中,然後像XML類一樣穿越DOM。所以,對於你在野外找到的代碼非常有用。
可否請您發表示例文字? – BergListe 2013-03-05 10:23:54
首先您需要確保該單詞是唯一的,然後您可以使用http://msdn.microsoft.com/de-de/library/system.text.regularexpressions.regex(v=vs.80).aspx – Vogel612 2013-03-05 10:24:09
爲了清晰起見,我編輯了您的問題,並使用社區更爲熟悉的詞組。如果我的任何更改不正確,請進行編輯以澄清您的問題。 – 2013-03-05 10:24:18