百度反扒上了 TLS 指纹反爬虫: python爬虫 - 猿人学第十九题突破ja3指纹验证
我们可以使用 curl_cffi 轻松无脑突破 TLS 指纹反爬虫:curl_cffi: 支持原生模拟浏览器 TLS/JA3 指纹的 Python 库
但是我在使用 curl_cffi + nameko 的时候,发现请求代理等 http 操作的延时很恐怖且越来越恐怖
我直接怀疑就是 curl_cffi 和 eventlet 的兼容性有问题,为什么呢?因为我之前看到过文章说 eventlet 和 grpc 不兼容,因为 grpc 使用的是多线程库不是 python 内置的多线程,所以 eventlet 的猴子补丁能给 python 内置的多线程打补丁,但是不认识 grpc 的多线程
参考: https://github.com/grpc/grpc/issues/15923
curl_cffi 估计也是一样,因为 curl_cffi 是包装了 curl,curl 的多线程估计是自己实现的。所以当 curl_cffi 和 nameko/eventlet 一样使用的时候,一旦 curl_cffi 使用了多线程,nameko/eventlet 就无法获取进程的控制权了,其下的协程就都被挂起了
那么怎么解决呢?参考:https://curl-cffi.readthedocs.io/en/latest/api/curl_cffi.requ...
使用的时候,添加 thread='eventlet'
就好了
也可以参考:Can it be used with eventlet/gevent?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。