浏览器(2):自制Chromium内核浏览器,自动统计CSDN社区打卡记录(一)

简介: 自研、掌握核心科技?这我可不敢吹,我老老实实说我用了个Chromium内核组件。为了统计一些数据,一条条复制粘贴肯定是够累的。用爬虫吧,自己还不精通,而且现在好多数据都需要登录才能请求,或者有些需要滑滚动条才显示。比如csdn社区的打卡记录,一个月的如何快速的统计出来呢?

自研、掌握核心科技?这我可不敢吹,我老老实实说我用了个Chromium内核组件。

为了统计一些数据,一条条复制粘贴肯定是够累的。用爬虫吧,自己还不精通,而且现在好多数据都需要登录才能请求,或者有些需要滑滚动条才显示。

比如csdn社区的打卡记录,一个月的如何快速的统计出来呢?


我想控制网页的请求

我想控制请求结果

我想给网页中硬塞点JS

我想模拟输入、模拟按键

我想自动翻页、拉滚动条、自动抓取数据

在Chrome浏览器中,可以通过安装扩展插件进行一些“特殊操作”。比如CSDN的浏览器插件就很强大,可以参考我的另一篇文章:油#猴是什么猴?又一门新的编程语言?卷不动了呀。


自己弄个浏览器,将这些都实现。


☆☆☆一定要注意,通过自动方式请求,一定要控制频率,我一般每个请求之间都会停顿5秒以上,文明抓数据,不能给别人和自己造成麻烦。☆☆☆


曾经号称打破漂亮国垄断的而大火的“hongxin”浏览器,最终被爆出实际是基于Chromium内核。其实我们也可以弄一个。做桌面软件,微软的Winform和Wpf那肯定是很方便的,也有对应的.Net组件方便将Chromium应用在Winform和Wpf程序中。


CefSharp 允许您在 .NET 应用程序中嵌入 Chromium。 它是 Marshall A. Greenblatt 围绕 Chromium 嵌入式框架 (CEF) 的轻量级 .NET 包装器。 大约 30% 的绑定是用 C++/CLI 编写的,这里的大部分代码是 C#。 它可以在 C# 或 VB 或任何其他 CLR 语言中使用。 CefSharp 提供 WPF 和 WinForms Web 浏览器控件实现。


CefSharp 是 BSD 许可的,因此它可以在专有和免费/开源应用程序中使用。


1. 新建项目

CefSharp 提供 WPF 和 WinForm支持,所以新建哪种项目都行,当然Wpf的可以做的更加漂亮一些。


本例以WinForm为例,新建一个WinForm项目:


68.png

设置项目名称,例如MyChrome

69.png

70.png

添加CefSharp组件,在Nuget中搜索CefSharp.Winforms, 由于本例是建的.Net core项目, 所以选择CefSharp.Winforms.NETCore, 安装即可

71.png

在Program.cs中进行初始化:

        public static int Main(string[] args)
        {
#if ANYCPU
            CefRuntime.SubscribeAnyCpuAssemblyResolver();
#endif
            //For Windows 7 and above, best to include relevant app.manifest entries as well
            Cef.EnableHighDPISupport();
            var settings = new CefSettings()
            {
                //By default CefSharp will use an in-memory cache, you need to specify a Cache Folder to persist data
                CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache")
            };
            //Perform dependency check to make sure all relevant resources are in our output directory.
            Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
            var browser = new BrowserForm();
            Application.Run(browser);
            return 0;
        }

新建一个Form,例如MainForm,进入设计器:

在工具箱里可以看到已经有了相应组件:


72.png

目录
相关文章
|
6月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
6月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
116 10
|
Web App开发 前端开发 JavaScript
|
5月前
|
JavaScript 前端开发
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),获取网页加载后的标题
在使用 WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件)时,要获取网页加载后的标题,可以监听 WebView2 的 NavigationCompleted 事件。这个事件被触发时,表示导航已完成,此时执行JavaScript代码可以安全地获取网页的标题。
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),获取网页加载后的标题
|
4月前
|
Web App开发 编解码
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改
|
6月前
|
人工智能 搜索推荐 Linux
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
276 0
|
Web App开发
自制浏览器网页背景是什么体验?
自制浏览器网页背景是什么体验?
74 0
|
IDE 编译器 程序员
CSDN推出【云IDE】,几秒完成开发环境配置,今后可以在浏览器里使用VS Code了
CSDN推出【云IDE】,几秒完成开发环境配置,今后可以在浏览器里使用VS Code了
205 0
CSDN推出【云IDE】,几秒完成开发环境配置,今后可以在浏览器里使用VS Code了
|
前端开发 JavaScript
web浏览器常用内核和web标准
web浏览器常用内核和web标准
121 0
web浏览器常用内核和web标准
|
11天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式

热门文章

最新文章