-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] 疯狂刷新触发风控导致无法正常进行下载 #46
Comments
感谢回答。请问您有什么好办法可以还原每话最后的那一段js后加载的字库混淆文字吗。js混淆强度好高,让我这个不怎么了解js的小白望而却步了 |
具体描述下你的问题细节(例如哪个文件,进行到哪一步,卡在哪),你这样问我不清楚你的疑惑点。 |
给你上面这个截图的文章页链接地址给我,我去看下。 |
爬虫 —— CSS 字体混淆.bcontent p:last-of-type {
/* font-family: "read" !important; */
} 可以得知它是使用了字体进行覆盖。这个特殊字体的样式应用后,就能拿到正常的文本了。 @font-face {
font-family: read;
font-display: block;
src: url('/public/font/read.woff2') format('woff2'), url('/public/font/read.ttf') format('truetype');
} 也就是它使用这个自己定义的字体。 具体代码解决思路TODO |
寄,目前 linovelib 应该设置了IP黑名单机制了。我在本地也没法测试我的解决方案。显示的是被服务器ban了。 |
祝大佬武运昌盛。另外我觉得可以不依赖浏览器的,可以纯get请求再加js逆向,这样运行可以更稳。佬可以看看我的仓库。 |
@sweetnotice 这个项目以前就是使用 requests这种的,后来被迫改为无头浏览器。
纯API请求我认为是一条绝路,因为linovelib这类网站只会更加严控爬虫。 |
确实。DrissionPage其实也挺完美的
除了在内存低的机器上不太好运行,不方便调试外几乎没有缺点了。 |
@sweetnotice 这个问题已被间接修复。 关于最新版本代码,请更新项目源码并仔细阅读README文档来运行。 |
牛啊老哥.
|
目前只有少部分章节的某些页面的最后一个段落p存在CSS 字体混淆,我认为混淆面积比例不大,而且pytesseract的识别率对于简体/繁体/english的识别准确率并不低。因此在目前阶段我不会考虑增强OCR。
你的想法是很好的,可是事实上却不能这样做。因为仅加载页面文字是不足够的,必须完全加载整个页面,同时必须渲染CSS样式,以及执行关于JS恢复混淆的相关逻辑。
因此,CSS样式渲染和JS执行缺一不可,所以我目前认为eager模式不适用。 |
经过我本地测试,eager模式是可以正常工作的,可以正常显示需要用js复原的字体,这是我简化后不完全代码
|
经过简单的本地测试,eager 模式的确可行,性能提升为一个页面从平均1s到0.3s,提升幅度为 0.7s/1.0s *100=70%。 |
I've put up a pull request to add @sweetnotice! 🎉 |
Describe the bug(描述这个BUG)
选择章节进行下载后,浏览器会疯狂刷新,然后触发风控。浏览器以及驱动已确定为最新版
124.0.6367.91
To Reproduce(复现步骤)
Screenshots or Video(截图或者视频录制)
Environment(软件环境)
Python 3.10.9
pip --version
Additional context(补充信息[可选])
Add any other context about the problem here.
www.bilinovel.com_8.log
The text was updated successfully, but these errors were encountered: