关于卫健委官网爬取规范性文件

发布于 2022-09-12 02:42:03 字数 339 浏览 15 评论 0

求问各位,我尝试在卫健委官网http://www.nhc.gov.cn/wjw/gfx...
爬取发布规范性文件的文件名,先通过requests,之后通过xpath解析, 然后再进入详情页爬取发布时间和发布单位等等信息,但是不知道为什么第一步就出现了错误,requests.get获取的文件就是乱码的,不管怎么用utf-8编码都是乱码的,不知道是不是加密了,本人小白,求问各位大佬!谢谢~
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倦话 2022-09-19 02:42:03

这个情况不是编码问题,应该是没获取到正确的网页

你打印一下response.status_code看看是不是412(先决条件失败),我也遇到过这种情况。

当你第一次访问时,会失败并且给你返回cookies,然后你再带着这个cookies去访问一次试试,如果状态码是200就是获取成功了。

实验的结果

import requests

url = 'http://www.nhc.gov.cn/wjw/gfxwjj/list.shtml'

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
}


response = requests.get(url,headers=headers)
print(response.status_code)
print(response.cookies)

response = requests.get(url,headers=headers,cookies=response.cookies)
print(response.status_code)
print(response.cookies)

response = requests.get(url,headers=headers,cookies=response.cookies)
print(response.status_code)
print(response.cookies)

response = requests.get(url,headers=headers,cookies=response.cookies)
print(response.status_code)
print(response.cookies)

输出:

412
<RequestsCookieJar[<Cookie insert_cookie=97324480 for www.nhc.gov.cn/>, <Cookie oHAcoULcWCQb80S=_mvHFp9XKqrYNalSGT2uvHKyVjnPiAVgdkk97qRRNOJooMrs6XD1HX3f8Zc3jEqI for www.nhc.gov.cn/>]>
412
<RequestsCookieJar[<Cookie oHAcoULcWCQb80S=_mvHFp9XKqrYNalSGT2uvHuNtENZsBCqfU_NlB0rKXha5_qNVKCHJSXEWV.b06kD for www.nhc.gov.cn/>]>
412
<RequestsCookieJar[<Cookie insert_cookie=67313298 for www.nhc.gov.cn/>, <Cookie oHAcoULcWCQb80S=C0NKigf5ifwmhRYoGywDIwQZlBDonkiVIQHxkCwj59913ptbrcK.EdVgi9V13ZVV for www.nhc.gov.cn/>]>
412
<RequestsCookieJar[<Cookie oHAcoULcWCQb80S=C0NKigf5ifwmhRYoGywDIAGIpnu0ou7i0jdyLYbeC3AulpBOLXCtBmAxs2P5ih.u for www.nhc.gov.cn/>]>

可以发现,第一次发送请求时,会给你个cookies,并且返回412错误,第二次发送请求时,会重新设置cookies的一个键oHAcoULcWCQb80S,估计是需要三次才能够访问成功

  • 第一次访问,获取初始cookies
  • 第二次访问,带上第一次的,将原有cookies的键改为新的值
  • 第三次访问,带上前两次的cookies

不过我没成功,你可以沿着这个思路想想

绅士风度i 2022-09-19 02:42:03

请问这个问题您解决了吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文