我正在开发.Net C#中的网络抓取工具,就像这样。
Step1访问网站的主页面(让我们将此页面称为Main.aspx)
Step2使用httpwebrequest获取表单页面(我们将此页面称为Form.aspx)
Step3将表单发布到另一页并获取结果。 (我们称这个页面为Results.aspx)
在网页抓取方面非常直接。
目前的问题是,如果我之前没有设置一堆cookie,我就无法访问Form.aspx页面。所有这些cookie都是由Main.aspx生成的javascript。
每当我尝试直接获取Form.aspx页面时,我都会被重定向到主页面。生成cookie的代码超过20kb,而且它非常混乱和疯狂,它也使用了大量的“文档”。引用会阻止使用JINT或Javascript.net的简单尝试
所以经过很多的研究后我发现无头浏览器将是我正在寻找的,尝试了很多,但似乎有很多复杂性。我已经有了一个包含所有网络爬虫的类库项目,我只想要另一个dll来使它工作。有什么建议吗?
我想尽可能清楚,如果你有任何疑问,请在给予否定投票之前发表评论......
答案 0 :(得分:-1)
对PhantomJS使用.NET绑定,这是一个无头webkit浏览器。您可以考虑使用Selenium等完整的自动化框架,该框架是为测试而设计的。
但是你要求的并不简单。您要求进行大量抽象,以便在现有应用程序中保持简单性。
如果你不介意“头脑”浏览器,你也可以通过COM使用Windows窗体“WebBrowser”控件或远程控制Internet Explorer。