如何使用Python从表中刮去编码和tbody
我正试图从一个跟踪科罗纳病毒病例的网站上搜集数据。 该网站是 我要刮的桌子是这样的: 如果我们看一下它的html元素,它有一个包含thead和tbody的table元素 我试图阅读整张表格,但我的尝试只能阅读标题。 我也想看一下表中的内容 下面是我编写的代码,我希望我能用它阅读表格:如何使用Python从表中刮去编码和tbody,python,html,web-scraping,Python,Html,Web Scraping,我正试图从一个跟踪科罗纳病毒病例的网站上搜集数据。 该网站是 我要刮的桌子是这样的: 如果我们看一下它的html元素,它有一个包含thead和tbody的table元素 我试图阅读整张表格,但我的尝试只能阅读标题。 我也想看一下表中的内容 下面是我编写的代码,我希望我能用它阅读表格: 问题在于阅读表格内容时,标题的阅读效果非常好。您感兴趣的表格内容是动态生成的。但是,您可以使用来获取和处理使用xhr的内容 From bs4 import beautifulsoup Import reques
问题在于阅读表格内容时,标题的阅读效果非常好。您感兴趣的表格内容是动态生成的。但是,您可以使用来获取和处理使用xhr的内容
From bs4 import beautifulsoup
Import request
Dataaa=request.get(url)
Scrapped=beautifulsoup(Dataa.text,html.parse)
Tbody= Scrapped.find('tbody'
Or
r = requests.get(url)
bs = BeautifulSoup(r.text)
info = bs.findALL('tr','td') r = requests.get(url)
bs = BeautifulSoup(r.text)
info = bs.findALL('tr','td')
以下是您可以:
import requests
import pandas as pd
URL = "https://api.coronatracker.com/v3/stats/worldometer/topCountry?limit=15&sort=-confirmed"
df = pd.DataFrame(columns=['country','confirmed','recovered','deaths'])
res = requests.get(URL,headers={'User-Agent':'Mozilla/5.0'})
for item in res.json():
country = item['country']
confirmed = item['totalConfirmed']
recovered = item['totalRecovered']
deaths = item['totalDeaths']
df = df.append({'country':country,'confirmed':confirmed,'recovered':recovered,'deaths':deaths},ignore_index=True)
print(df)
输出:
country confirmed recovered deaths
0 USA 1170184 162653 68002
1 Spain 247122 148558 25264
2 Italy 210717 81654 28884
3 UK 186599 135 28446
4 France 168396 50562 24760
5 Germany 165183 130600 6812
6 Russia 134687 16639 1280
7 Turkey 126045 63151 3397
8 Iran 97424 78422 6203
9 Brazil 97100 40937 6761
10 China 82877 77713 4633
11 Canada 57148 24416 3606
12 Belgium 49906 12309 7844
13 Peru 42534 12434 1200
14 India 42490 11775 1391
你有什么错误吗?它不起作用,仍然没有得到表格的内容。我已经更新了答案,你可以用新的代码试试。谢谢,它起作用了。我想知道你是如何得到所有东西都以json格式存储的链接的。
country confirmed recovered deaths
0 USA 1170184 162653 68002
1 Spain 247122 148558 25264
2 Italy 210717 81654 28884
3 UK 186599 135 28446
4 France 168396 50562 24760
5 Germany 165183 130600 6812
6 Russia 134687 16639 1280
7 Turkey 126045 63151 3397
8 Iran 97424 78422 6203
9 Brazil 97100 40937 6761
10 China 82877 77713 4633
11 Canada 57148 24416 3606
12 Belgium 49906 12309 7844
13 Peru 42534 12434 1200
14 India 42490 11775 1391