我是一名正在构建GUI Web抓取应用程序的Python开发人员。最近我决定迁移到.NET框架并在C#中编写相同的应用程序(这个决定不是我的)。
在Python中,我使用了Mechanize库。但是,我似乎无法在.NET中找到类似的东西。我需要的是一个以无头模式运行的浏览器,它能够填写表单,提交表单等.JavaScript解析器不是必须的,但它会非常有用。
答案 0 :(得分:30)
有一些选择:
WebKit.Net(免费)
Awesomium
它基于Chrome / WebKit,就像一个魅力。
有免费许可证,但也有商业许可证,如果需要,您可以购买源代码: - )
HTML Agility Pack(免费)
这有助于从HTML等中提取信息,可能对您的情况有用(可能与HttpWebRequest
结合使用)
答案 1 :(得分:10)
更多解决方案:
我曾经用它们进行网络测试。但它们也适合网络抓取。
答案 2 :(得分:4)
您可能会使用TrifleJS类通过无窗口ActiveX / COM API与 .NET WebBrowser (当前处于测试阶段)或类似事件之后。
如果您对JavaScript API(phantomjs的端口不感兴趣,您将使用Internet Explorer的Trident引擎运行完全成熟的浏览器(而不是http请求包装器)。 )您仍然可以使用一些C#代码库来解决关键概念(自定义标头,cookie,脚本执行,屏幕截图渲染等)。
请注意,这也可以根据您安装的内容模拟不同版本的IE。