Comments (11)
刚试了一下好像没遇上403,可能你的代理被限制了?如果你的浏览器进去,可以暂时通过直接提供m3u8链接的方式进行下载
selenuim太笨重太慢了,不到万不得已不会用的
from bilix.
我估计你可能问的是新的站点,PR中403出现的原因:
- 对于不支持http2协议的站点打开http2可能导致403
- 下载器没有import到__init__.py 导致实际上用的bilibili的downloader进行的请求
from bilix.
刚试了一下好像没遇上403,可能你的代理被限制了?如果你的浏览器进去,可以暂时通过直接提供m3u8链接的方式进行下载
selenuim太笨重太慢了,不到万不得已不会用的
不是新 PR,是已有的 jable 用例。如果你没有遇到那应该是我个人 ip 的问题。先关闭 issue。
from bilix.
对于返回403的问题,可能是cloudflare校验了TLS指纹,httpx换成curl_cffi可以正常请求。
from bilix.
对于返回403的问题,可能是cloudflare校验了TLS指纹,httpx换成curl_cffi可以正常请求。
这真的是一个神奇的库。
curl https://jable.tv/models/393ec3548aecc34004d54e03becd2ea9/
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Just a moment...</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="/cdn-cgi/styles/challenges.css" rel="stylesheet">
当我直接使用 curl 时,被 403 跳转,当然这可能是由于我代理的可用性问题。
于是我切换到了 curl-impersonate,也就是 @Adam-Jin 提到的依赖库。
docker run --rm lwthiker/curl-impersonate:0.5-chrome curl_chrome110 https://jable.tv/models/393ec3548aecc34004d54e03becd2ea9/
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0<!doctype html>
<html lang="en">
<head>
<title>佐久良咲希出演的AV在線看 - Jable.TV | 免費高清AV在線看 | J片 AV看到飽</title>
正常获取到了结果!这真是太厉害了。
目前我还在看库的实现方式,毕竟我对于 tls 指纹相关的知识了解的很少。
@HFrost0 你觉得需要 reopen 这个 issue 吗?
from bilix.
@linbuxiao 我也不了解这个,当时关闭这个问题的时候我还可以正常访问api,但是现在也403了,真的可以研究一下是怎么做的
from bilix.
目前这个 python 库 的实现好像有些不稳定,在 README 中说到打包方式有问题。所以可能会破坏原有功能的稳定性(当然我们可以先通过选项方式支持)。好消息是支持了异步。
from bilix.
jable 开启的 TLS 指纹检测 + http2 指纹检测目前没有更好地方式绕过,因为涉及到了 TLS 指纹加密套件修改,http2 连接模式,header 顺序修改。使用 curl-impersonate 是目前最好的方式。
目前通过编码形式绕过 cloudflare 墙的库有 golang 的 req,其中依赖了 utls。python 的实现方式大多为调用封装好的 curl 的 c 库来实现。
from bilix.
对于这个站点一个其他的解决办法,可以使用1.0版本的autov和浏览器脚本或selenium配合下载
from bilix.
对于这个站点一个其他的解决办法,可以使用1.0版本的autov和浏览器脚本或selenium配合下载
autov 是指?
from bilix.
@linbuxiao https://github.com/HFrost0/bilix/blob/1.0/bilix/download/auto_downloader.py
from bilix.
Related Issues (20)
- httpx.RemoteProtocolError: <ConnectionTerminated error_code:0, last_stream_id:1999, additional_data:None> HOT 1
- 根据你们的文档操作,但是不能 HOT 2
- 这个怎么下载字幕呢,用 bilix v https://www.bilibili.com/video/BV18g4y1U7zR --subtitle 不行! HOT 2
- 下载时判断当前目录名,如果所在目录为 videos (不区分大小写) 则不新建目录 HOT 1
- 请求添加自定义输出文件名的功能 HOT 2
- 使用get_up获取某个up的所有投稿视频的时候,可能会获取到已经失效的视频?然后get_video_info就会发生报错?
- ImportError due to deprecated 'cgi' module in Python 3.13
- 0.18.6 regression test failure HOT 6
- api错误 HOT 1
- 报错
- 报错 HOT 2
- bilix.exception.APIParseError: APIParseError Caused by KeyError in <bilix.sites.bilibili.api:get_up_video_info> HOT 1
- python和vc++都是最新的,为啥报错 HOT 2
- Specify profile directory with from-browser
- Python 调用如何使用cookie? HOT 1
- bilix0.18.8执行报错 HOT 4
- mac下载的视频文件只有音频,没有画面 HOT 4
- 下载b站视频合集时,raise EndOfStream from None
- New feat: BaseDownloader can switch to faster url when provided multiple urls for same resource
- 请问可以通过api接口的形式访问吗 HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bilix.