我从浏览器打开,登陆之后,可以保持 session 10 来天,然后页面会自动定时刷新
现在有没有办法开着浏览器来定时获取页面的数据?
通过 python 调用 webdriver 没办法搞定登陆问题,所以希望是浏览器插件这种方式? 猴油脚本有可能么?
需要支持把获取的数据定期发送出来,或者写到数据库( mysql 等)
1
shadowyue 34 天前
你这提供信息这么少🤣 算命是吧
我来帮你掐指一算,你说的自动刷新,大概率是你登录过期了,请求接口的时候触发了前端登录过期的判断,让你跳转到登录页面了。 你想绕过登录过期这个逻辑不太可能,这都是服务端的判断了。 还是想办法能做到自动登录,可能性高一点 |
3
sentinelK 34 天前
没太看懂楼主的需求,楼主的意思是想爬一个网页的数据?
无头浏览器是否契合楼主的需求? |
4
Vegetable 34 天前
所以你想做的是
1. 手动打开浏览器,访问目标网站,登录,进入数据页面挂机 2. 页面自己获取最新数据时,某个程序将这个数据保存下来 方案有很多,webdriver 是可以的,只要你嵌入一个手动登录过程就行。 浏览器插件和脚本都可以,不过需要对应的外部程序配合接收数据 其他方案: 代理方案,使用 mitmproxy 代理特定网络,浏览器挂代理之后,逻辑写在代理里 https://github.com/mitmproxy/mitmproxy/issues/1487 |
5
xinmans OP @Vegetable webdriver 无头浏览器搞过不需要登录的,比如爬一些开源论坛。但是需要登录的没有搞过,有没有 sample 代码可以参考下?感觉这个方案最成熟。
|
6
Ausmo 34 天前
搜一下 puppeteer 或者 playwright
|
7
Vegetable 34 天前
@xinmans 你只需要将无头浏览器换成有头的,比如 chrome 。
到了登录页面你先登录一下。登录完了脚本继续工作就行。 你可能没意识到 selenium 是控制浏览器的,不是专门控制无头浏览器的,只是很多场景不需要头而已。 随便搜索的例子: https://www.cnblogs.com/c2soft/articles/13019429.html |
9
slowhand 34 天前
试试浏览器插件:automa
|
10
imicksoft 34 天前
用 aardio 的话,使用用 web.view2 库开发内置浏览器组件的程序,像以前调用 webbrowser 一样,
然后定时执行 js 获取数据,保存到本地或插入 Mysql 数据库 |
11
xinmans OP 用有头 webdrvier 搞定了
|