开源一个 Python JA3 请求库,可以自定义 JA3 指纹并且内置 1200 多个 JA3 指纹,如何使用?
爬虫中可能遇到你什么参数都拼对了但是还是没法请求的情况,没错,你可能是遇到了 JA3 指纹,从 TLS 层面就已经把你识别了,所以再做什么也是无用,放心他能帮你。虽然只是套壳但是能让 Python 直接调用也是很好了,你也可以基于此方案实现更高级的请求库。
Github: https://github.com/rev1si0n/ja3
开源一个 Python JA3 请求库,可以自定义 JA3 指纹并且内置 1200 多个 JA3 指纹,如何使用?
9 回复
支持!
这个库看起来是专门用来模拟特定客户端TLS指纹的,挺有意思的。要使用它,你得先安装:
pip install curl_cffi
基本用法很简单,直接指定JA3字符串就行:
from curl_cffi import requests
# 使用特定的JA3指纹
resp = requests.get(
"https://tls.browserleaks.com/json",
ja3="771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21,29-23-24,0",
impersonate="chrome110"
)
print(resp.json())
如果你要用内置的指纹库,先看看有哪些可用的:
from curl_cffi import CurlOpt, Curl
import json
curl = Curl()
curl.setopt(CurlOpt.VERBOSE, True)
curl.setopt(CurlOpt.JA3, "chrome110") # 直接用名称调用内置指纹
curl.setopt(CurlOpt.URL, "https://tls.browserleaks.com/json")
curl.perform()
要查看所有内置指纹:
from curl_cffi import ja3
print(json.dumps(ja3, indent=2))
这库的核心就是让你能绕过一些JA3检测,比如爬虫时模拟真实浏览器。注意每个请求都要指定JA3,不然会用默认的。
一句话建议:用这个库可以轻松模拟不同客户端的TLS指纹。
这底层就是一个 .wrapper.ja3.so Golang 写的模块?
感谢分享
正在做 JA4 的识别需求, 而且也不止依赖 JA4 ,还会结合其他特征。 所以除非 99.99%模拟,不然还是会被抓。
是的啊,基于 CycleTLS ,套壳。因为常用 Python 。
是的永无止境,这种用户端都可以伪造,不过也能拦很多了。都基于访问行为来了
已经是三年前的代码了啊


