我想使用c#獲取網頁的HTML源代碼,就好像使用IE9,Chrome,Firefox等不同瀏覽器訪問過的一樣。有沒有辦法做到這一點?使用c#爲不同瀏覽器獲取網頁的HTML源代碼
回答
您可以通過多種方式獲取HTML源代碼。我的首選方法是HTML Agility Pack
HtmlDocument doc = new HtmlDocument();
doc.Load("http://domain.com/resource/page.html");
doc.Save("file.htm");
.NET中WebClient工作也很好。
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); // If you need to simulate a specific browser
byte[] myDataBuffer = myWebClient.DownloadData (remoteUri);
string download = Encoding.ASCII.GetString(myDataBuffer);
// This is verbatim from MSDN... unfortunately their example does not dispose
// of myWebClient (it implements IDisposable). You should wrap use of a WebClient
// in a using statement.
http://msdn.microsoft.com/en-us/library/xz398a3f.aspx
你的HTML是你會得到什麼。給定的瀏覽器決定如何製作它(除非服務器爲不同的用戶代理呈現不同的HTML)。
如果你需要明確設置用戶代理(模擬不同的瀏覽器),在下面的帖子展示瞭如何做到這一點:
http://blog.abodit.com/2010/03/a-simple-web-crawler-in-c-using-htmlagilitypack/
(這個環節也實現了使用HTML一個簡單的網絡爬蟲敏捷包)
+1爲最好/最簡單.net網絡刮板HTML敏捷包! – xandercoded
我喜歡它!讓生活變得簡單。 –
我不是C#專家,但是假設html不管哪個「瀏覽器」訪問url,都可以使用System.Net.WebClient(如果你只需要簡單控制)或HttpWebRequest (如果你需要更高級的控制)
對於Web客戶端,只需要創建一個實例,並調用它的一個下載*方法:
var cli = new WebClient();
string data = cli.DownloadString("http://www.stackoverflow.com");
一些網站使用用戶代理嗅探來有時迎合閱讀他們網站的瀏覽器。特別是如果您將用戶代理設置爲IE4(yes,old),則某些ASP.NET用戶控件的呈現方式會有所不同,並且這會在網站作者直接干預的情況下自動完成。如果useragent包含單詞iPhone或Android,其他網站可能會重定向到移動網站 – Matthew
- 1. 網頁瀏覽器midified HTML代碼c#
- 2. 使用HTMLAgility捕獲網頁瀏覽器頁面HTML源碼
- 3. 從C#中瀏覽器加載頁面獲取源代碼
- 4. jnetpcap獲取html網頁源代碼
- 5. 使用SWT瀏覽器的HTML代碼獲取器
- 6. BeautifulSoup的Html不同於瀏覽器的源代碼(Python3.5)
- 7. 使用Java獲取網頁源代碼
- 8. 從CefSharp Web瀏覽器獲取HTML源代碼
- 9. web瀏覽器讀取瀏覽器的代碼,而不是源代碼
- 10. 獲取瀏覽器呈現的java中完全加載的網頁源代碼
- 11. 獲取網頁源代碼
- 12. 從嵌入在C#中的瀏覽器控件獲取HTML源代碼
- 13. 如何通過servlet獲取網頁瀏覽器上的html代碼?
- 14. 如何使用C#獲取頁面的html源代碼?
- 15. 代碼注入瀏覽器的網頁
- 16. 如何從壁虎網頁瀏覽器獲取源代碼HTML? innerHTML的不存在任何更多
- 17. C#網頁瀏覽器的替代?
- 18. 使用Facebook登錄以獲取網頁的源代碼(C#)
- 19. HTML和網頁瀏覽器
- 20. 源代碼瀏覽器
- 21. 壁虎網頁瀏覽器c#編碼
- 22. 在網頁瀏覽器中運行PHP代碼的HTML按鈕
- 23. 獲取C#中網頁瀏覽器的當前網址
- 24. 在網頁瀏覽器中運行C/C++代碼?
- 25. 獲取網頁瀏覽器cookies登錄
- 26. Qt - 獲取互聯網上託管的網頁的源代碼(HTML代碼)
- 27. 無法獲取網頁的源代碼
- 28. WP7網頁瀏覽器控件使用IE瀏覽器,如何使用不同的瀏覽器
- 29. 在同一網絡中獲取網頁的源代碼
- 30. 通過意向從瀏覽器共享的網頁獲取HTML
的HTML來自Web服務器,其提供相同的HTML到所有的瀏覽器(也有例外,但通常這是真的) 。這就是HTML的重點。 –