使用 requests 的 get 方法库访问国家卫生健康委员会官网出现 412 错误
使用requests的get方法库访问国家卫生健康委员会官网出现412错误
爬取目的
我在完成老师布置的对新冠肺炎的传染趋势分析和预测作业,需要用到健康委员会官网的公开数据。
##问题描述
我使用requests库的get方法访问页面,返回码是412.我通过网络上的一些资料了解到这个状态码是客户端错误,服务器没有满足我的一项或多项请求。然后我尝试了修改我的访问请求头,从火狐浏览器上找到服务器的请求头更改以后还是出现相同错误。我的具体问题有两个:
1.为什么使用get方法访问会出现412状态码。我在查找资料的过程中了解到412错误一般出现于post请求中。
2.我应该如何去解决412状态码,或者通过什么方法能够得到更具体的问题信息方便我检索资料。
##代码块
由于通过尝试,我认为问题不在于访问头,且浏览器的访问头很长,所以就贴出未修改的代码
import requests
def getHTMLText(url):
try:
kv = {'user-agent':'Mozilla/5.0'}
r = requests.request('get',url)
r = requests.get(url,headers = kv,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text[1:1000]
except:
return "产生异常"
if __name__ == "__main__":
url = 'http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml'
print(getHTMLText(url))
推荐文章: