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

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

第二个就是浏览器组件,可以拖一个到Form中进行配置。


具体可配置项比较多,可以参考GitHub中相关的配置文档:https://github.com/cefsharp/CefSharp


在GitHub库中,也提供了相应的Example,如果想快速学习一下,这是非常好的例子。


访问一下CSDN,大概如下图:


73.png

73.png

2. 功能体验

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

浏览器插件都这么强大了,直接使用Chromium则能获得更大的主动权。

2.1 DevTools

要处理网页,怎么能少了DevTools,平时做前端开发,F12键肯定不少按。在这里也依然方便。在上图的地址栏中可以看到我自定义了三个按钮,其中一个就是DevTools,按钮对应的代码也很简单:

browser.ShowDevTools();

2.2 执行Js语句

来个最简单的例子:

browser.ExecuteScriptAsync("alert('sdsdd')");

2.3 模拟按键

有时候通过Js模拟输入、点击按钮等操作比较复杂,因为你不知道实际在页面中输入的时候,页面背地里又有什么操作,所以如果简单的给字段赋值可能是没用的。那么怎么模拟键盘输入呢?

比如想输入这样一句话:“没事看看CSDN”

string str = "没事看看CSDN";
foreach (char item in str)
{
    browser.GetBrowserHost().SendKeyEvent((int)258u, (int)item, 0);
}

这些都是基础功能,通过CefSharp,你可以控制请求数据,修改响应结果,发挥你的想象,你还想干什么。下面通过一个简单例子看一下。

3. 统计CSDN社区的打卡记录

需求分析:每一篇都有如下图这样的几页打卡记录

74.png

而每个月都有差不多30篇这样的文章,如何快速的统计出来呢?

75.png

思路就是:

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