上一章:
python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一、爬虫思路及代码)
第三步:数据清洗
清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据上花费太多的时间
def xpath_json(resp):
print('xpath_json ------ 2')
html = etree.HTML(resp)
str_list = html.xpath("//script[@id='captain-config']/text()")
str_list = str_list[0].replace('\'', '') # 去掉 '' 单引发
str_list = str_list.encode('utf-8') # 转码字符集,转码中文
# str_list = str_list.encode('utf-8').decode('unicode_escape') # 转码字符集,转码中文
json_list = json.loads(str_list)
return json_list
if __name__ == '__main__':
url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner&city='
# 请求HTTP
resp = HTTP_get(url)
print(resp)
# 解析数据
json_list = xpath_json(resp)
# 加上这样一个代码,之后会去掉的,只是方便 我们清洗数据,看清这个json格式
with open('JsonData.json','w+',encoding='utf-8') as f:
f.write(str(json_list))
运行后,按下 ctrl + alt + L 进行数据格式化,之后就是这样了哈,50000多条,有点多哈
慢慢分析这些数据
验证一下是不是这些的数据,去百度查询西藏的总数据。
结果数据都是正确的,那么我们成功找到了我们想要的数据了。
英文的大概意思就是这些。
confirmedRelative # 新增确诊 unOverseasInputNewAdd # 新增本土 overseasInputRelative # 新增境外 asymptomaticRelative # 新增无症状 curConfirm # 现有确症 ------ curLocalConfirm # 现有本土 curOverseasInput # 现有境外 asymptomatic