LeeReamond 最近的时间轴更新
LeeReamond

LeeReamond

V2EX 第 469082 号会员,加入于 2020-02-13 15:05:38 +08:00
今日活跃度排名 3458
根据 LeeReamond 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
LeeReamond 最近回复了
高手在民间:医学院没研究明白是因为他们没有我们老祖宗的传承和灵光一现,你别管他们有多少人力物力财力,反正我是天选之子秒杀他们就对了。你看那个什么什么室温超导体不也是个名不见经传大学的人合成出来的?
9 小时 0 分钟前
回复了 g1879 创建的主题 Python 安利一个自己的开源项目: DrissionPage
@g1879 最近一周内安装的版本。你指的没有阻塞是设置了 autoaccept 或者 nextone 的情况下没有阻塞吧,普通的出现弹窗事件->处理弹窗事件的逻辑是阻塞的。

https://gist.github.com/RedmondLee/ec0c13215c97c9902cd8c12ecbfbca1c
2 天前
回复了 sdfw23xd 创建的主题 计算机 这个配置用来设计合理吗
别的都不说,CPU+主板 2000 多这个价位。。。
我依稀记得我前年装机时候是 Ryzen5500 卖 475 块,主板也卖 450 块左右。。。。
所以宁这个高了 2.5 倍的价格,有 2.5 倍的性能吗?还是说宁这个是高端产品溢价。。。好像不是很高端的样子
2 天前
回复了 g1879 创建的主题 Python 安利一个自己的开源项目: DrissionPage
@g1879 起码 selenium 是这样处理的。我试着把在跑的几个脚本往你这个迁移,主要问题就是 alert 。目前的几个典型场景需要解决方案:

1.网站没有严格反爬,但也不会让自动脚本太舒服,alert 行为不是很可控,会随机弹。
2.在没有严格流程控制的情况下不让弹窗阻塞脚本( selenium 的方案是在上级 catch 异常即可,所以我可以很粗糙地开发但仍然保持对流程的高度控制)。
3. 服务器对验证码的判断结果由 alert 返回。这个场景的问题是,验证码 cv 识别有成功率,handle 不能撤回只能依赖 timeout 和等待让代码健壮性变成依托。

以上这些场景都是 trycatch 非常合适的应用场景,你不知道流程会在脚本执行到哪步时触发异常行为,但是因为有异常直接 catch 所以整体流程依然可控。现在没有办法 catch 的原因是弹窗后整个被阻塞,即使尝试用 next_one 预埋 handler ,因为你是单线程同步脚本,又没有个回调,这该怎么控制。
2 天前
回复了 g1879 创建的主题 Python 安利一个自己的开源项目: DrissionPage
@g1879 虽然我不是做专业爬虫工作的,但你这个设计思路那不是往增加开发人员心智负担上使劲。。。因为业务的复杂度是无限的,网站为了给自动爬取增加不适会用各种办法,如果用异常上报的方式,开发人员只需要规定在某个时期内出现异常那么就重新开始流程这样。但是如果你要求把行为摸透,那只有两种可能,要不然就是网站行为太单纯,要不然就是极大增加开发人员心智负担,打上无数的状态控制。说到底最关键原因还是 alert 会阻塞用户代码,你没法用常规的流程控制手段去控制它。

再者我想知道 chromnium 实现精准控制状态,还要保证爬虫速度,这得多花多少经历来进行流程控制,另外还要假设对方网站不会频繁更新,否则你无法写一个大略的状态控制来增加鲁棒性。我很高兴你这个框架可以不用像 selenium 一样隔一段时间还要更换 chromedriver ,但是你现在提供的功能我代码迁移不过去
3 天前
回复了 g1879 创建的主题 Python 安利一个自己的开源项目: DrissionPage
@g1879 最主要是有阻塞的问题,因为网站弹窗不一定是在预期时候出现的,你这么搞不确定什么时候自己代码就阻塞住了,所以最合适的就是上报异常。如果按你说的在跳转页面前使用 next_one 预设下个页面会弹窗,但是用户无法确定网页运行到什么状态才会弹窗,这就导致虽然能捕获弹窗数据,但是用户代码里感知不到什么位置出现弹窗了。

另外还有个问题是,全局等待,像 selenium 有个隐式等待(就是页面所需所有资源加载完毕)的 api ,我看你的文档里只有一个 start_load 和一个 doc_loaded ,是不是都不太对
4 天前
回复了 g1879 创建的主题 Python 安利一个自己的开源项目: DrissionPage
@g1879 试用了一下还不错,尤其是不需要 chromedriver 这点非常好,但是现在有个痛点。

目前引擎的所有代码在 alert 弹出后都会阻塞,无法在用户层对于 alert 事件做任何处理,只能设置为自动确认才能让代码自动执行。

如果 alert 内部含有有效信息的话则完全无法获取。

是否可以参考 selenium 将 alert 设计成异常的形式,用户让可以对中断进行处理。
4 天前
回复了 zhangjiashu2023 创建的主题 职场话题 能否给 Java 方向毕业生一点建议
@zhangjiashu2023 因为他 TLDR
5 天前
回复了 LeeReamond 创建的主题 Python 奇技淫巧
@iorilu 如果感到快乐你就拍拍手
5 天前
回复了 LeeReamond 创建的主题 Python 奇技淫巧
@nagisaushio v 站 py 区发库的很多都认识,他写他的我写我的

@iorilu Path 字多麻烦,最麻烦的是 write_text 还要打 utf-8 ,我实在是不想再打 utf 横岗 8 这几个键了。

@yanyao233 我现在基本就是工具类上 pypi ,换环境云端携带,习惯性先 from import *
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1000 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.