推荐一个.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
更多开源项目: https://github.com/bianchenglequ/NetCodeTop
我是编程乐趣,一个.Net开发经验老程序员,欢迎“关注”我,每天为你分享开源项目和编程知识。
也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,
点击加入:https://bbs.youkuaiyun.com/topics/613465368
- End -
推荐阅读
支持多语言、多商店的商城,.Net7 + EF7领域驱动设计架构