当你欲爬取某网页的信息数据时,发现通过浏览器可正常访问,而通过代码请求失败,换了随机ua头IP等等都没什么用时,有可能识别了你的TLS指纹做了验证。
解决办法:
1、修改 源代码
2、使用第三方库 curl-cffi
from curl_cffi import requests as curl_req
def Use_curl():
res = curl_req.get(
url='https://cn.investing.com/equities/amazon-com-inc-historical-data',
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
},
impersonate="chrome101"
)
res.encoding = 'utf-8'
print(res.text)
获取到网页:
原理解析:
1、什么是TLS 指纹校验
TLS 及其前身 SSL 用于为常见应用程序和恶意软件加密通信,以确保数据安全,因此可以隐藏在噪音中。要启动 TLS 会