用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

.Net技术 针尖舞 4年前 (2016-09-11) 6405次浏览 0个评论

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

用cefsharp浏览器替代webbrowser用来采集页面数据步骤示例。cefsharp用的是webkit内核。首先需要在页面form加载完毕,用异步方式自动获取SourceCode。

由于国内CefSharp的资料相对比较少,如果有问题需自行在google搜索英文资料。

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

主要使用的方法都在IWebBrowser.cs 这个接口文件里面
36行: event EventHandler<FrameLoadEndEventArgs> FrameLoadEnd; 页面加载完的“事件”。

 

262行:GetSourceAsync() 会返回string 结果,可以用来返回html代码

 

只需要页面一加载完毕就GetSourceAsync() ,加了个Async后缀(异步的意思),之前的名字叫做GetSource()。

以前的GetSource():

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

 

下载了最新的cefsharp就不用纠结为何cefsharp找不到GetSource()方法了,现在.net 4  和.net4.5作者都改成GetSourceAsync() 。

具体看下面截图,是因为有人提出来过这个建议,所以作者就改了:

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

具体等页面加载完毕,自动获得页面source code的代码如下:

var task1 = browser.GetSourceAsync();
task1.Wait();
string html = task1.Result;

用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据

以上例子是在CefSharp.MinimalExample完成。更多的用法,可以参考:https://github.com/cefsharp/CefSharp/issues/646

通过以上方式即可采集到html数据,后续即可对html进行分析处理。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用cefsharp(webkit内核)浏览器替代webbrowser采集页面数据
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!