自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Python装饰器典例

分别是函数装饰器,函数带参数装饰器,类装饰器,类带参数装饰器。功能全部都是获取函数的运行时间。

2025-06-02 22:41:28 184

原创 loguru 日志中心实现

我们为module1.log设置了只有record["extra"]["name"] == "module1"的才能记录,并且为logger1绑定了属性name="module1",因此只有logger1才能写入module1.log文件。现在,我想在log.py中配置全部的logger,module1使用一个logger1,module2使用一个logger2,并且他们分别写入各自的log文件中。控制台已经打印日志了,可以看到,info,waring日志有预设的颜色。,例如日志输出格式等等。

2025-06-01 14:31:55 383

原创 UV缓存机制探究

(这是后来实验的虚拟环境目录大小,我add了torch和transformers等一些库,我使用的wsl可以直接使用windows资源管理器查看,使用du命令查看也是一样大小)我刚开始这么做了,进入每个文件夹,uv init,uv venv,uv pip install requirements.txt一气呵成。所以以后不要担心项目”看起来“非常大了,我们使用的是uv的全局缓存,相同的包实际在系统上只有一个。这是testuv2安装完成的数据,可以看到除了文件夹,文件的硬链接+1了。

2025-05-07 21:40:58 522

原创 自动化点击跳转空白页溯源

这是selenium+webdriver的经典特征,如果使用的是浏览器驱动操控浏览器的方式,这个js变量会被赋值True,从而被检测,由于我使用的DrissionPage是基于CDP的,不会被检测。那么执行上面的脚本,观察参数,发现,模拟点击的isTrusted是True,属于信任点击不会被检测,但是两个recorder的值却并不是0,前面那个是2,后面是1,于是就触发了跳转空白页。至此,真相大白,我们的猜想是正确的,确实是获取计算属性和滑动视口可见动作被监控记录了。我们先排查js点击是为什么失败。

2025-04-04 17:08:44 970

原创 CDP初识

Chrome Devtools Protocol, 就是 Chrome 浏览器用于开发调试的协议,Chrome 开发者工具底层就是调用的该协议,所以 chrome 开发者工具能干的事都是基于 CDP 的接口,就能想到 CDP 能干的事有多少了。事实上 CDP 有些功能在 Chrome 开发者工具并没有体现出来,也就是说 CDP 还更强大。简单来说,CDP 就是用来控制 Chrome 的方方面面。事实上 CDP 能控制的并不局限于 Chrome 浏览器,任何实现了该协议的工具都能被控制。

2025-04-04 11:05:11 1021

原创 图灵爬虫题自动化解法

看到检测了一些自动化特征,比如navigator.webdriver,插件数量,计算属性调用等等,使用selenium+webdriver肯定是要被检测的(可以使用一些隐藏指纹的工具)。我使用的自动化工具是基于cdp的自动化工具Drissionpage,类似的工具有很多,puppeteer也是基于cdp的js封装。最关键的一步是将点击替换为直接执行js代码(点击被检测了会跳转空白页),我们要点击的元素绑定的事件其实就是我们执行的js代码,loadPage()函数。

2025-04-03 23:00:17 178

原创 静态博客图片处理最佳实践

搭建个人博客不是一个很难的操作,也有不止一种的解决方案。真正难的是持续总结所学并更新博客。希望各位持之以恒,坚持才是王道。

2024-03-26 21:32:06 835 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除