From 338e56c5b2b487aa6c647e802f37b96188ee79c7 Mon Sep 17 00:00:00 2001 From: hnu202111020304 Date: Wed, 22 Dec 2021 20:27:41 +0800 Subject: [PATCH] ADD file via upload --- 大作业.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 大作业.py diff --git a/大作业.py b/大作业.py new file mode 100644 index 0000000..add3f64 --- /dev/null +++ b/大作业.py @@ -0,0 +1,49 @@ +import requests +url = "https://www.bitpush.news/covid19/" +# 设置请求头信息 +headers = { + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36" +} +# 使用reqeusts模快发起 GET 请求 +response = requests.get(url, headers=headers) +# 获取请求的返回结果 +html = response.text +# 导入 lxml +from lxml import etree +parse = etree.HTMLParser(encoding='utf-8') # 添加编码 +# 解析 requests 返回的响应结果 +doc = etree.HTML(html) +# 州名 +country = doc.xpath('//*[@id="main"]/div[2]/div/div/div/div/div[1]/table/tbody/tr/td/span/text()') +# 确诊人数 +person = doc.xpath('//*[@id="main"]/div[2]/div/div/div/div/div[1]/table/tbody/tr/td[2]/text()') +# 由于确诊人数中有逗号,我们使用列表推导式删除 +person = [x.replace(",", "") for x in person] +# 死亡人数 +death = doc.xpath('//*[@id="main"]/div[2]/div/div/div/div/div[1]/table/tbody/tr/td[3]/text()') +# 同样使用列表推导式删除逗号 +death = [x.replace(",", "") for x in death] +# 打包数据之后将其转换成列表 +message = list(zip(country, person, death)) +message=message[:10] +# 导入python中的内置模块csv +import csv +with open("content.csv", "w",encoding="utf-8") as f: + w = csv.writer(f) + w.writerows(message) +import pandas as pd + +# 读取数据 +df = pd.read_csv("content.csv", names=["country", "person", "death"],encoding="utf-8") +print(df) +import matplotlib.pyplot as plt +plt.rcParams['font.sans-serif'] = ['SimHei'] +plt.rcParams['axes.unicode_minus'] = False +plt.rcParams['figure.figsize'] = (10, 5) +x = df["country"] +y = df["death"] +plt.bar(x,y) +plt.xlabel("美国州名",fontsize=14) +plt.ylabel("死亡人数",fontsize=14) +plt.show() + \ No newline at end of file