平顶山市请求解决分析

如何解决爬虫中遇到的问题

目标网站:‘aHR0cDovL3pqai5wZHMuZ292LmNuL2NoYW5uZWxzLzM2NDczXzMuaHRtbCA=’
如图:
在这里插入图片描述

问题起因:
在这里插入图片描述
在这里插入图片描述

当天进行了简分析:
误认为tls 当然我觉得不是 这种小网站不应该搞这种
1:reqursts 要等很久才响应可以拿到数据但是时间太久
2:httpx 直接报错
3:nodejs 中request 可以正常响应数据
4:挂上代理也可以访问(非抓包工具 这里指的是全局梯子 当然挂上抓包工具也可以访问)
5:postmain 也可访问
6:urllib3 也要很久才响应
7:urllib 正常响应(python标准库 非第三方)

httpx.RemoteProtocolError: illegal header line: bytearray(b'Referrer Policy: no-referrer-when-downgrade')

当然先看下面介绍

urllib
python 标准 http 库, 无论是 python 2 还是 python 3 都有.

urllib2
urllib2 是 只存在于 python 2 的一个 http 标准库.

在 python 2 时代, 由于 urllib 的功能过于基础和简陋, 于是官方做了大量重新设计, 推出了 urllib2.

值得注意的是, urllib2 并不能完全独立使用, 一些比较基础的功能仍然需要从 urllib 中导入, 于是你在 python 2 写成的代码中可能会看到 “urllib” 和 “urllib2” 同时存在的 “奇景”:

# python 2 代码演示
from urllib import urlencode
from urllib2 import Request, urlopen

req = Request(url='http://www.example.com')
req.add_header('User-Agent', 'example fetcher')
req.add_data(urlencode({
    
    'foo', 'bar'}))
resp = urlopen(req)

值得庆幸的是, python 3 已经移除了 urllib2, 只留下 urllib 标准库, 且 urllib 在功能和易用性做了很大完善, 包含了许多常用的功能 (尽管在人性化方面和 requests 存在差距).

urllib3
一个第三方库, 非 python 自带. 可以通过 pip install urllib3 安装.

urllib3 这个库和 urllib, urllib2 应该没什么关系, 顶多可以认为该库的作者为了减轻人们的认知负担沿用了 2 时代的版本命名顺序. (不过对于不懂得这段历史的初学者来说已经够混乱了.)

urllib3 支持 python 2.7+ 和 python 3.6+. 它被很多著名的库所使用, 比如 requets 和 pip 都有依赖到它.

ps: 本人最早接触爬虫是从 requests 开始, 对 urllib3 没有太多了解; 加上 urllib3 的 1.26+ 版本在 windows 上导致了灾难性的 pip 代理异常 (参考 这篇文章), 本人对它的印象比较差.

requests
非常流行的 http 库. 它有着堪称典范的代码风格, 极具易用性 (人性化) 的接口设计等诸多优点, 是开发者最爱的 python 第三方库之一.

ps: 印象中 requests 的依赖项比较多 (不过最新的版本似乎很少了), 对于非常在意打包体积的人来说仍然需要多加关注.

总结
如果是一些基础的, 偶尔使用到 (在自己的项目的少数模块中), 其实推荐用 python 自带的 urllib; requests 适合专注于爬虫等网络通讯项目的人员.

参考
https://stackoverflow.com/a/63233379

3:尝试使用了更更接近原生态的标准库请求(urllib)

from urllib import request

html = request.urlopen('http://zjj.pds.gov.cn/channels/36473.html')
print(html.read().decode('utf-8'))

完美拿到结果
在这里插入图片描述

总结:
既然都能拿到数据 只是时间长短问题
然而 python urllib原生标准库可以正常
说明和所谓的ja3 关系应该是没有的
不然是拿不到数据的
更多问题应该出在第三方包的封装上对原urllib做了那些调整!
其他的就不说了 说错了不好。

猜你喜欢

转载自blog.csdn.net/qq_43704986/article/details/127461385