Maybe there's better solutions, but this is what worked for me - convert all <...>
tags to uppercase (maybe a bug in pandas?):
import re
import requests
html_source = requests.get("https://www.worldometers.info/coronavirus/").text
html_source = re.sub(r'<.*?>', lambda g: g.group(0).upper(), html_source)
dataframe=pd.read_html(html_source)
print(dataframe)
Prints:
[ # Country,Other TotalCases NewCases TotalDeaths NewDeaths TotalRecovered ... TotalTests Tests/ 1M pop Population Continent 1 Caseevery X ppl 1 Deathevery X ppl 1 Testevery X ppl
0 NaN North America 2333333 +5,613 138581.0 +642 966689.0 ... NaN NaN NaN North America NaN NaN NaN
1 NaN South America 1219723 +695 52857.0 +12 563854.0 ... NaN NaN NaN South America NaN NaN NaN
2 NaN Europe 2134390 +9,695 180463.0 +279 1117440.0 ... NaN NaN NaN Europe NaN NaN NaN
3 NaN Asia 1440771 +16,501 36529.0 +232 871289.0 ... NaN NaN NaN Asia NaN NaN NaN
4 NaN Africa 206520 +1,000 5578.0 +10 93197.0 ... NaN NaN NaN Africa NaN NaN NaN
.. .. ... ... ... ... ... ... ... ... ... ... ... ... ... ...
226 NaN Total: 1440771 +16,501 36529.0 +232 871289.0 ... NaN NaN NaN Asia NaN NaN NaN
227 NaN Total: 206520 +1,000 5578.0 +10 93197.0 ... NaN NaN NaN Africa NaN NaN NaN
228 NaN Total: 8887 +9 124.0 NaN 8332.0 ... NaN NaN NaN Australia/Oceania NaN NaN NaN
229 NaN Total: 721 NaN 15.0 NaN 651.0 ... NaN NaN NaN NaN NaN NaN NaN
230 NaN Total: 7344345 +33,513 414147.0 +1,175 3621452.0 ... NaN NaN NaN All NaN NaN NaN
[231 rows x 19 columns], # Country,Other TotalCases NewCases TotalDeaths NewDeaths TotalRecovered ... TotalTests Tests/ 1M pop Population Continent 1 Caseevery X ppl 1 Deathevery X ppl 1 Testevery X ppl
0 NaN Asia 1424270 +31,788 36297.0 +658 864232.0 ... NaN NaN NaN Asia NaN NaN NaN
1 NaN North America 2327720 +24,384 137939.0 +1,554 963408.0 ... NaN NaN NaN North America NaN NaN NaN
2 NaN South America 1219028 +42,752 52845.0 +1,518 563823.0 ... NaN NaN NaN South America NaN NaN NaN
3 NaN Europe 2124695 +14,928 180184.0 +824 1105422.0 ... NaN NaN NaN Europe NaN NaN NaN
4 NaN Africa 205520 +6,530 5568.0 +178 92914.0 ... NaN NaN NaN Africa NaN NaN NaN
.. .. ... ... ... ... ... ... ... ... ... ... ... ... ... ...
226 NaN Total: 2124695 +14,928 180184.0 +824 1105422.0 ... NaN NaN NaN Europe NaN NaN NaN
227 NaN Total: 205520 +6,530 5568.0 +178 92914.0 ... NaN NaN NaN Africa NaN NaN NaN
228 NaN Total: 8878 +3 124.0 NaN 8308.0 ... NaN NaN NaN Australia/Oceania NaN NaN NaN
229 NaN Total: 721 NaN 15.0 NaN 651.0 ... NaN NaN NaN NaN NaN NaN NaN
230 NaN Total: 7310832 +120,385 412972.0 +4,732 3598758.0 ... NaN NaN NaN All NaN NaN NaN
[231 rows x 19 columns], # Country,Other TotalCases NewCases TotalDeaths NewDeaths TotalRecovered ... TotalTests Tests/ 1M pop Population Continent 1 Caseevery X ppl 1 Deathevery X ppl 1 Testevery X ppl
0 NaN Asia 1392482 +31,253 35639.0 +614 842914.0 ... NaN NaN NaN Asia NaN NaN NaN
1 NaN North America 2303336 +24,856 136385.0 +848 943277.0 ... NaN NaN NaN North America NaN NaN NaN
2 NaN South America 1176276 +29,806 51327.0 +1,105 559961.0 ... NaN NaN NaN South America NaN NaN NaN
3 NaN Europe 2109767 +14,920 179360.0 +417 1088915.0 ... NaN NaN NaN Europe NaN NaN NaN
4 NaN Africa 198990 +6,872 5390.0 +173 88212.0 ... NaN NaN NaN Africa NaN NaN NaN
.. .. ... ... ... ... ... ... ... ... ... ... ... ... ... ...
226 NaN Total: 2109767 +14,920 179360.0 +417 1088915.0 ... NaN NaN NaN Europe NaN NaN NaN
227 NaN Total: 198990 +6,872 5390.0 +173 88212.0 ... NaN NaN NaN Africa NaN NaN NaN
228 NaN Total: 8875 +5 124.0 NaN 8294.0 ... NaN NaN NaN Australia/Oceania NaN NaN NaN
229 NaN Total: 721 NaN 15.0 NaN 651.0 ... NaN NaN NaN NaN NaN NaN NaN
230 NaN Total: 7190447 +107,712 408240.0 +3,157 3532224.0 ... NaN NaN NaN All NaN NaN NaN
[231 rows x 19 columns]]
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…