python解决JA3 TLS指纹反爬几种方案

  1. curl_cffi: 支持原生模拟浏览器 TLS/JA3 指纹的 Python 库
pip install curl_cffi
from curl_cffi import requests

proxy = {
        'PROXY_USER': "xxx",
        'PROXY_PASS': "xxx",
        'PROXY_SERVER': "http://ip:port"
    }

def get_proxys():
    proxy_host = proxy.get('PROXY_SERVER').rsplit(
        ':', maxsplit=1)[0].split('//')[-1]
    proxy_port = proxy.get('PROXY_SERVER').rsplit(':', maxsplit=1)[-1]
    proxy_username = proxy.get('PROXY_USER')
    proxy_pwd = proxy.get('PROXY_PASS')
    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host": proxy_host,
        "port": proxy_port,
        "user": proxy_username,
        "pass": proxy_pwd,
    }
    proxies = {
        'http': proxyMeta,
        'https': proxyMeta,
    }
    return proxies

url = "https://www.infinigo.com/cps/299027a8-9e4d-11ea-b100-20040fe763d8"
# url = "https://www.infinigo.com/classify/08007"
# url = "https://www.infinigo.com/category/"
payload = {}
response = requests.get(url, data=payload, proxies=get_proxys(), allow_redirects=False, impersonate="chrome101")
print(response.text)
  1. Pyhttpx: https://github.com/zero3301/pyhttpx
pip install pyhttpx
import pyhttpx
proxies = {'https': 'ip:port', 'http': 'ip:port'}
proxy_auth = ("xxx", "xxxx")
url = "https://www.infinigo.com/cps/299027a8-9e4d-11ea-b100-20040fe763d8"
# url = "https://www.infinigo.com/classify/08007"
# url = "https://www.infinigo.com/category/"

payload={}
sess = pyhttpx.HttpSession(browser_type='chrome', http2=True)
response = sess.get(url, proxies=proxies, proxy_auth=proxy_auth, allow_redirects=False)

print(response.text)

  1. 修改urllib3 ssl_源码的DEFAULT_CIPHERS里的加密算法
    requests版本
    scrapy版本
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python指纹是一种虫技术,它通过识别请求中的特定特征指纹来检测和阻止虫。其中,JA3指纹是一种用于识别TLS客户端的指纹算法,可以在改变IP地址和User Agent(UA)的情况下仍然识别到请求的来源。 要在Python中修改JA3指纹,可以使用第三方库requests,并通过修改其源代码来实现。具体步骤如下: 1. 首先,安装requests库。可以使用pip命令运行以下命令来安装最新版本的requests: ```python pip install requests ``` 2. 导入requests库,并创建一个Session对象: ```python import requests session = requests.Session() ``` 3. 修改Session对象的headers属性,将请求头的User-Agent字段设置为自定义的值。这样可以隐藏默认的User-Agent,增加请求的隐蔽性: ```python session.headers['User-Agent'] = '自定义的User-Agent' ``` 4. 修改Session对象的TLS指纹JA3指纹)。可以在网络上搜索到一些可以用于修改JA3指纹Python库或代码示例,如。根据具体情况选择合适的方法来修改JA3指纹。 5. 使用修改后的Session对象发送请求。可以使用Session对象的get()或post()方法发送HTTP请求,并获取响应内容: ```python response = session.get(url) ``` 通过以上步骤,我们可以在Python中使用requests库来修改JA3指纹,从而提高虫的隐蔽性。请注意,根据网站的虫策略,可能还需要进行其他处理,如处理验证码、使用代理IP等措施来进一步提高虫的成功率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值