我正在尝试创建一个登录网站的小应用程序,抓取网站并保存各种数据。 我在创建登录网站的webclient时遇到问题。 我一直在查看网站上提供的各种解决方案以及谷歌搜索建议的五个首页的解决方案。所有这些都没有产生结果......
该网站正在运行.NET,所以我想知道它是否是导致问题的视图状态?
使用此处提供的解决方案:Login to website, via C#我只能看到SessionId cookie - 而不是登录后应该存在的.ASPXAUTH cookie。
建议?
答案 0 :(得分:0)
我建议你遵循这个计划:
1)安装并运行fiddler
2)清除浏览器缓存和cookie。
3)转到您的页面,登录并查看fiddler中发生的情况,检查请求并响应,重定向等。
在大多数情况下,流程是
获取登录页面 - >
将凭据发布到授权页面并获取cookie / hash以响应 - >
使用此cookie / hash获取授权页面。
在您了解了这些步骤之后,使用WebClient或更好的HttpWebRequest和HttpWebResponse
可以轻松实现这些步骤请参阅my answer获取帮助
答案 1 :(得分:0)
我建议使用一些浏览器自动化软件,例如硒这样做。通过这种方式,您可以实际激发浏览器登录,然后抓取数据。
以下是如何执行此操作的一个很好的示例: http://scraping.pro/example-of-scraping-with-selenium-webdriver-in-csharp/