试试 NHtmlUnit - java and converted to .net
或者PhantomJS
我找了一下网上的资料,PhantomJS这个还可以截图,可以Post数据,当然可以抓取,dos窗口可以不显示,感觉比较满意。
博客园的:http://www.cnblogs.com/YYLin/p/3293963.html
CSDN的:http://blog.csdn.net/jeanny292163/article/details/10810197
都对这个主题作了一点记录以备忘。
fiddler可以监控到请求,拿到请求后在用httpWebRequest就能获取到html原码了
能否详细一点呢?fiddler只是监控到请求到哪个页面,POST什么参数,即使这样还是无法获取,拿到的HTML还是未用Ajax加载前的代码。
@YYLin: 哦,明白你的意思了,你是说要拿到 数据到达客户端后js画的页面的HTML代码吧。这个拿不到吧。况且拿着个代码也没什么意义啊,有了数据你想画成什么样就画成什么样啊
@小兵仔: 唉,,惨就惨在它的数据就是用Ajax技术返回来的。如http://data.shishicai.cn/cqssc/haoma/这个页面中的号码。
找出页面中ajax请求的url,然后通过WebClient向这些url发请求获取内容
我用抓包工具看到了地址,是一个ashx的处理程序,但是POST过去还是不行。
抓包工具分析http://data.shishicai.cn/cqssc/haoma/这个地址
它是POST去http://data.shishicai.cn/handler/kuaikai/data.ashx这个地址,得到
["20130815-076;39960;2013-08-15 18:40","20130815-075;04260;2013-08-15 18:30","20130815-074;71904;2013-08-15 18:20","20130815-073;73927;……这样的返回值
@YYLin: 需要有js引擎,你才能抓取到ajax返回后js处理后的内容
@YYLin: 首页正好有一篇相关博文:浅谈网络爬虫爬js动态加载网页(一)
@dudu: 看了这个博文,我试着用了Selenium这个加个除了htmlunit之外的webDriver都会有一个显性的浏览器,不是很好。不过很谢谢你。。。学习到了很多东西。
楼主搞好了没?我现在也在弄这个,想讨点经验……