推荐一个.Net开源项目,非常适合用于网页自动操作和网页爬虫的项目。
01
项目简介
CefSharp是一个基于Chromium Embedded Framework(CEF)的.NET开源项目。
可以让开发人员非常方便使用C#与浏览器交互,可以操作Html、Css、执行JavaScript代码等方式来处理页面的内容。
支持多线程,方便开发人员创建多个浏览器对象,并可以通过设定CookieContainer和UserAgent来模拟不同用户的操作,提升网页数据采集和速度。
02
项目优点
1、控件:支持WPF和WinForms web浏览器控件;
2、强大的JS交互能力:支持与JavaScript的双向交互能力,方便Web端与客户端进行数据交互;
3、多线程抓取:支持多线程操作,提升效率;
4、丰富的API:提供了非常丰富的API,使得开发人员非常方便控制和操作Web浏览器;
5、社区:社区非常活跃,案例和资料非常多,方便开发人员进行交流和解决问题。
03
使用示例
1、加载网页
ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.Load("https://www.xxx.com");
2、执行Js脚本
browser.ExecuteScriptAsync("document.getElementById('login-button').click();");
3、获取页面Html
public partial class Form1 : Form{ ChromiumWebBrowser browser; public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) { browser = new ChromiumWebBrowser(); browser.Dock = DockStyle.Fill; Controls.Add(browser);
browser.FrameLoadEnd += Browser_FrameLoadEnd; browser.Load("http://www.baidu.com"); }
private void Browser_FrameLoadEnd(object? sender, FrameLoadEndEventArgs e) { var task = e.Frame.GetSourceAsync();//HTML源文件作为字符串返回 task.ContinueWith(t => { if (!t.IsFaulted) { string resultStr = t.Result; } });
}}
04
项目简介
https://github.com/cefsharp/CefSharp
领取专属 10元无门槛券
私享最新 技术干货