我的系统是b/s,想实现从别的网站页面上抓取完整的网页代码,该网页代码有部分是由js动态生成的,后台用HttpWebRequest、WebClient之类的是获取不到的,因为是b/s的,所以没法用WebBrower控件。
我另外尝试过一下两种方式:
1. 用代码实现网页另存为:将网页另存为,打开保存在本地的网页,查看源代码,这时候的是加载完全的,但是还是会回到如何实现网页另存为的功能。失败。
2. 用目标网页的对应动态生成代码的js请求链接去获取:因为我要的是目标网页的特定内容,所以就想是否能找到生成这部分内容的js代码及其请求路径。从浏览器开发者工具中,我也找到了这个请求路径,但是单独访问没有返回任何响应结果。失败。
从网上大家反馈的经验来说,目标实现的可能性比较小,但是还是想请教大家是否有方法能实现?谢谢
b/s也可以用WebBrowser
请教一下如何使用呢?工具栏中根本就没有这个控件
@weegoood: 引用System.Windows.Form.dll,在codebehind中new
@jello chen: 这种方式我用过,但是会报
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。 这个错误,请问您知道怎么解决不?
@jello chen: 你好,线程的问题我已经解决,但是在使用WebBowser的时候,Document为null,这是为什么呢,能大概讲讲WebBowser获取完全源代码的做法吗?
@weegoood: browser.Document.Body.OuterHtml