我是一名正在構建GUI Web抓取應用程序的Python開發人員。最近我決定遷移到.NET框架並在C#中編寫相同的應用程序(這個決定不是我的)。C#(.NET)的無頭瀏覽器?
在Python中,我使用了機械化庫。但是,我似乎無法在.NET中找到任何類似的東西。我需要的是一個可以無頭模式運行的瀏覽器,它可以填寫表單,提交表單等。JavaScript解析器不是必須的,但它會非常有用。
我是一名正在構建GUI Web抓取應用程序的Python開發人員。最近我決定遷移到.NET框架並在C#中編寫相同的應用程序(這個決定不是我的)。C#(.NET)的無頭瀏覽器?
在Python中,我使用了機械化庫。但是,我似乎無法在.NET中找到任何類似的東西。我需要的是一個可以無頭模式運行的瀏覽器,它可以填寫表單,提交表單等。JavaScript解析器不是必須的,但它會非常有用。
有一些選項:
WebKit.Net(免費)
Awesomium
它是基於瀏覽器/ WebKit和工程就像一個魅力。 有一個免費許可證也是一個商業之一,如果需要的話,你可以買到的源代碼:-)
HTML Agility Pack(免費)
這有助於從HTML等提取信息,並可能是有用的你的情況(可能與HttpWebRequest
組合)
謝謝。嗯,糾正我,如果我錯了,但不是所有這些(或至少前兩個)需要創建一個用戶界面(我認爲從閱讀文檔)?我需要的是一個無頭瀏覽器,所以沒有GUI。 – 2012-04-15 11:25:12
@Deusdies NO - 至少第二個(Awesomium)和第三個(HTML Agility Pack)鏈接完全無法工作......第一個鏈接我不確定... – Yahia 2012-04-15 11:26:16
@Deusdies例如Awesomium - 根據文檔(請參閱http://awesomium.com/docs/1_6_5/sharp_api/)它給你像素,如果你想要在UI中渲染它們,如果沒有,則不需要。 – Yahia 2012-04-15 11:29:25
你可能會後TrifleJS(目前處於測試階段),或使用.NET WebBrowser類通過窗口的ActiveX/COM API與IE通信類似的東西。
如果您對JavaScript API不感興趣(端口號爲phantomjs),您可能仍然可以使用某些功能,您將基本上使用Internet Explorer的Trident引擎運行完全成熟的瀏覽器(而不是http請求封裝器)的C#代碼庫來解決關鍵概念(自定義標題,Cookie,腳本執行,截圖渲染等)。
請注意,這也可以模擬不同版本的IE,具體取決於您安裝的內容。
更多的解決方案:
我曾經使用這兩個進行網絡測試。但它們也適用於網絡抓取。
一個潛在的解決方案的鏈接總是受歡迎的,但請在鏈接上添加上下文,以便您的同伴用戶會有一些想法是什麼以及它爲什麼在那裏。如果目標網站無法訪問或永久離線,請始終引用重要鏈接中最相關的部分。考慮到僅僅是一個外部網站的鏈接是一個可能的原因[爲什麼以及如何刪除一些答案?](http://stackoverflow.com/help/deleted-answers) – 2016-07-19 11:51:28
謝謝你們。我已經更新了我的答案。 – Knyaz 2016-07-20 15:33:11
特定產品/資源的過度推廣可能被社區視爲**垃圾郵件**。看看[幫助],特別是[用戶期望什麼樣的行爲?](// stackoverflow.com/help/behavior)的最後一節:_避免公開自我推銷_。您可能也對[如何在堆棧溢出做廣告?](// stackoverflow.com/help/advertising)感興趣。 – FrankerZ 2016-07-20 16:56:57
不需要任何其他庫的diy版本:http://stackoverflow.com/a/1995667/17034 – 2012-04-15 13:06:12
http://stackoverflow.com/questions/12059752/run-and-control-browser-control不同線程 這符合我的需求。 – 2012-12-12 04:03:26