一、工具:
requests
Beautifulsoup
url: https://ncov.dxy.cn/ncovh5/view/pneumonia
二、网页分析:
打开网页,按F12分析数据结构:


三、数据爬取
整体思路:
1、爬取最近一天全球各国疫情数据
2、爬取1月23号以来各国疫情数据
3、爬取最近一天国内疫情数据
4、爬取1月22号以来国内各省、市疫情数据
爬取方法:
爬取数据—解析数据—保存数据

爬取最近一天全球各国疫情数据:
import requests
from bs4 import BeautifulSoup
import json
import re
# 1.发送请求,获取疫情首页
response = requests.get('https://ncov.dxy.cn/ncovh5/view/pneumonia') # <Response [200]>
home_page = response.content.decode()
# print(home_page)
# 2.从疫情首页,提取最近一日各国疫情数据
soup = BeautifulSoup(home_page, 'lxml') # soup和home_page区别不大
script = soup.find(id="getListByCountryTypeService2true")
text = script.contents # 以列表形式返回内容
# 3.从疫情数据中,获取json格式的字符串
json_str = re.findall(r'\[.+\]', text[0])[0]
# 4.把json格式的字符串转换为Python类型
last_day_corona_virus = json.loads(json_str)
# 5.以json格式保存最近一日各国疫情数据
with open('data/last_day_corona_virus.json', 'w') as fp:
json.dump(last_day_corona_virus, fp, ensure_ascii=False)
数据格式如下:

我的博客:
http://www.chencdd.com/article/2020/10/25/7.html
本文介绍了一种使用Python的requests和BeautifulSoup库从特定网站抓取全球及中国疫情数据的方法。通过分析网页结构,实现了自动抓取最新一天的全球及国内各地区的疫情信息,并将这些数据保存为JSON文件。
896





