📜  使用Python构建 COVID19 疫苗跟踪器

📅  最后修改于: 2022-05-13 01:54:53.971000             🧑  作者: Mango

使用Python构建 COVID19 疫苗跟踪器

众所周知,世界正面临着前所未有的挑战,世界各地的社区和经济都受到 COVID19 的影响。因此,我们将在这段时间内通过跟踪他们的疫苗来做一些有趣的事情。让我们看一个简单的Python脚本来改进跟踪 COVID19 疫苗。

需要的模块

  • bs4 : Beautiful Soup(bs4) 是一个Python库,用于从 HTML 和 XML 文件中提取数据。这个模块没有内置在Python中。要安装此类型,请在终端中输入以下命令。
pip install bs4
  • requests : Requests 允许您非常轻松地发送 HTTP/1.1 请求。这个模块也没有内置在Python中。要安装此类型,请在终端中输入以下命令。
pip install requests

方法:

  • 提取给定 URL 的数据表单
  • 借助 requests 和 Beautiful Soup 抓取数据
  • 将该数据转换为 html 代码。
  • 找到所需的详细信息并过滤它们。

让我们看看脚本的逐步执行

第一步:导入所有依赖

Python3
import requests
from bs4 import BeautifulSoup


Python3
def getdata(url):
    r = requests.get(url)
    return r.text


Python3
htmldata = getdata("https://covid-19tracker.milkeninstitute.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
res = soup.find_all("div", class_="is_h5-2 is_developer w-richtext")
print(str(res))


Python3
import requests
from bs4 import BeautifulSoup
  
  
def getdata(url):
    r = requests.get(url)
    return r.text
  
htmldata = getdata("https://covid-19tracker.milkeninstitute.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
result = str(soup.find_all("div", class_="is_h5-2 is_developer w-richtext"))
  
print("NO 1 " + result[46:86])
print("NO 2 "+result[139:226])
print("NO 3 "+result[279:305])
print("NO 4 "+result[358:375])
print("NO 5 "+result[428:509])


第 2 步:创建 URL 获取函数

Python3

def getdata(url):
    r = requests.get(url)
    return r.text

第 3 步:现在将 URL 传递给 getdata函数并将该数据转换为 HTML 代码

Python3

htmldata = getdata("https://covid-19tracker.milkeninstitute.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
res = soup.find_all("div", class_="is_h5-2 is_developer w-richtext")
print(str(res))

输出:

注意:这些脚本只会为您提供字符串格式的原始数据,您必须根据需要打印数据。

完整代码:

Python3

import requests
from bs4 import BeautifulSoup
  
  
def getdata(url):
    r = requests.get(url)
    return r.text
  
htmldata = getdata("https://covid-19tracker.milkeninstitute.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
result = str(soup.find_all("div", class_="is_h5-2 is_developer w-richtext"))
  
print("NO 1 " + result[46:86])
print("NO 2 "+result[139:226])
print("NO 3 "+result[279:305])
print("NO 4 "+result[358:375])
print("NO 5 "+result[428:509])

输出: