這裏新增了C#,但我已經使用了Java多年。我試着用google搜索,並得到了一些不太符合我需要的答案。我想從網站中獲取(X)HTML,然後使用DOM(實際上,CSS選擇器是可取的,但無論如何)來獲取特定元素。這在C#中完成得如何?從C#網站抓取內容#
2
A
回答
0
我聽說你想用HtmlAgilityPack
來處理HTML文件。這將給你Linq訪問,與好事(tm)。您可以使用System.Net.WebClient
下載該文件。
0
您可以使用Html Agility Pack加載html並找到您需要的元素。
2
要獲取HTML,您可以使用WebClient對象。
解析HTML可以使用HTMLAgility librrary。
0
爲了讓你開始,你可以很容易地使用HttpWebRequest來獲取URL的內容。從那裏,你將不得不做一些解析HTML。這就是開始變得棘手的地方。您不能使用正常的XML解析器,因爲許多(大多數?)網站HTML頁面不是100%有效的XML。 Web瀏覽器專門實現瞭解析器來解決無效部分。在Ruby中,我會使用類似Nokogiri的東西來解析HTML,因此您可能需要查找它的.NET端口或特定設計用於讀取HTML的另一個解析器。
編輯:
由於話題很可能上來:WebClient vs. HttpWebRequest/HttpWebResponse
而且,這要歸功於回答了提HtmlAgility別人。我不知道它存在。
0
研究使用html敏捷包,這是解析html的更常見的庫之一。
2
// prepare the web page we will be asking for
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("http://www.stackoverflow.com");
// execute the request
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// we will read data via the response stream
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);
// make sure we read some data
if (count != 0)
{
// translate from bytes to ASCII text
tempString = Encoding.ASCII.GetString(buf, 0, count);
// continue building the string
sb.Append(tempString);
}
}
while (count > 0); // any more data to read?
然後使用XQuery表達式或正則表達式來獲取元素,你需要
1
你可以使用System.Net.WebClient
或System.Net.HttpWebrequest
抓取網頁,但分析的元素不被類支持。
使用HtmlAgilityPack(http://html-agility-pack.net/)
HtmlWeb htmlWeb = new HtmlWeb();
htmlWeb.UseCookies = true;
HtmlDocument htmlDocument = htmlWeb.Load(url);
// after getting the document node
// you can do something like this
foreach (HtmlNode item in htmlDocument.DocumentNode.Descendants("input"))
{
// item mathces your req
// take the item.
}
相關問題
- 1. 網站內容抓取
- 2. 抓取整個網站內容
- 3. 建議使用抓取網站內容
- 4. Web動態javascript內容抓取網站
- 5. 從網站上抓取C#數據
- 6. 從AJAX/Javascript網頁抓取內容
- 7. 如何從另一個網站'抓取'內容
- 8. 如何從JSF網站上抓取Ajax生成的內容?
- 9. 使用JavaScript從外部網站抓取的內容
- 10. 如何同時讀取和抓取網址和網站文件內容c#
- 11. 從網站抓取數據
- 12. 從網站抓取文本
- 13. 從網站抓取數據
- 14. 從網站抓取圖片
- 15. 從網站抓取TEXT ONLY
- 16. 從webhook wordpress抓取內容?
- 17. 從網站抓取多個網頁
- 18. 從網站抓取多個網頁
- 19. scrapy抓取網站
- 20. 客觀c從網站拉內容
- 21. PHP:如何從網站源頁面提取內容或抓取數據集
- 22. 從Flash網站獲取內容
- 23. 從另一個網站獲取內容
- 24. 從外部網站獲取內容?
- 25. 從python網站獲取json內容
- 26. 從另一個網站提取內容
- 27. 如何通過動態內容加載來抓取網站?
- 28. 抓取網站數據(內容)的最佳方式是什麼?
- 29. 如何在網站上抓取動態內容並保存?
- 30. 抓取另一個網站的特定內容
您可以加入一些示例代碼,讓我們一起工作? – jp2code
這太糟糕了評論不能downvoted。 –