type
status
date
slug
summary
tags
category
icon
password
😀
网页信息变化?无法及时查看
由于各种原因(bushi)你要申请一个软著,但是这个网站它并不会自动给你推送变更信息,于是你需要:
  1. 需要输入账号密码 → 借助 Edge浏览器密码工具补全。
  1. 为了看一眼“有没有受理”“有没有需要补正”,每天要手动登录。
目前网上有一个非常强大的插件,可以实时抓取(10s)网页变更信息并通过邮箱/短信/WebHook通知你,它就是网页更新提醒 一个浏览器插件,是一款可以监控并跟踪记录网页内容更新,并立即通知你的浏览器插件。灰常好用,并且可以自定义配置,预处理(好像要VIP)等等。
很豪,但是主包使用了,拿来抓取软著的状态信息变更,发现会失效,原因是登录过期。
所以我们使用Python来试试。
“懒惰是程序员的第一生产力”。 为了解决这个痛点,我基于 Python + Playwright 编写了一个自动化脚本,实现了:
  • 自动绕过登录(基于 Cookie 复用)。
  • 全自动监控:每隔几小时自动查询。
  • 深度抓取:不仅看数字,还能自动点进去看是哪个软件变更了状态。
  • Webhook 通知:状态一变,飞书/钉钉/微信立马收到消息。
当然你可以不用Webhook,自行更换成邮箱这些哦~

技术方案选型

在爬取版权局官网时,我遇到了两个主要坑:
  1. 动态渲染:网页是 Vue/React 构建的,数据全是异步加载,普通的 requests 库拿不到数据。
  1. 点击拦截:页面上经常会有半透明的遮罩层(Cover),导致模拟点击失效。
因此,最终选型为 Playwright。它比 Selenium 更快、更轻量,且能完美处理动态渲染和抗检测。
 

第一步:环境准备与加速

由于 Playwright 需要下载浏览器内核,国内网络可能会失败。我们可以使用国内镜像源加速。

第二步:搞定登录(Cookie 也就是“门票”)

版权局的验证码很难破解,但我们不需要每次都破解。我们只需要人工登录一次,保存下 Cookie,以后脚本拿着这个 Cookie 就能骗过服务器。
编写 get_cookie.py
运行后,手动登录一次,目录下就会多一个 auth.json 文件。

第三步:编写核心监控脚本

这是整个系统的“大脑”。
  1. JS 注入:强行删除页面上的 .cover 遮罩层。
  1. Force Click:使用 click(force=True) 无视任何遮挡进行点击。
  1. 异常兜底:如果 Cookie 过期或网络超时,立即发送报警通知。
编写 monitor.py

第四步:效果展示

脚本运行后,一旦状态发生变更,我的手机就会收到这样的推送:
notion image
再也不用在那干等着刷新了!

第五步:自动化部署

脚本写好了,怎么让它 7x24 小时运行呢?
如果你是Windows系统最简单的方法是使用 Windows 自带的 “任务计划程序”:
  1. 打开“任务计划程序”,点击“创建任务”。
  1. 常规:勾选“不管用户是否登录都要运行”。
  1. 触发器:新建,选择“每天”,然后在高级设置里勾选“重复任务间隔”,设置为 2小时
  1. 操作:启动程序 -> 选择 Python 路径 -> 参数填 monitor.py -> 起始于 (Start in) 填脚本所在文件夹路径。
这样,即使你在睡觉,脚本也在不知疲倦地为你工作。
如果你是Linux,那么可以添加到守护进程,或者直接暴力循环(手动狗头)

🤗总结

通过 Python Playwright,我们只用了不到 200 行代码就解决了复杂的动态网页监控问题。核心思路是:
  1. 人工辅助登录 解决验证码难题。
  1. Playwright 解决动态加载和点击拦截难题。
  1. Webhook 解决信息触达难题。
如果你也是正在申请软著的学生或开发者,希望这个脚本能帮你节省宝贵的时间!
 
💡
有关Python或者使用上的问题,欢迎您在底部评论区留言,一起交流~
Vibe Coding Study Stage 1腾讯云COS + Typora + PicGo / PicList搭建个人专属云存储图库
Loading...