Да, есть намного лучший способ здесь. данные возвращаются как ответ json. Просто потяните json, затем используйте pandas для его нормализации.
import requests
from pandas.io.json import json_normalize
url="https://www.cdc.gov/coronavirus/2019-ncov/map-cases-us.json"
jsonData = requests.get(url).json()
df = json_normalize(jsonData['data'])
df = df[['Jurisdiction', 'Cases Reported']].dropna()
Вывод:
print(df)
Jurisdiction Cases Reported
0 Alabama 1841.0
1 Alaska 185.0
2 American Samoa 0.0
3 Arizona 2269.0
4 Arkansas 853.0
5 California 13438.0
6 Colorado 4950.0
7 Connecticut 5675.0
8 Delaware 673.0
9 District of Columbia 998.0
10 Florida 11961.0
11 Georgia 6752.0
12 Guam 110.0
13 Hawaii 324.0
14 Idaho 1101.0
15 Illinois 11256.0
16 Indiana 4411.0
17 Iowa 868.0
18 Kansas 813.0
19 Kentucky 955.0
20 Louisiana 13010.0
21 Maine 470.0
22 Marshall Islands 0.0
23 Maryland 4045.0
24 Massachusetts 12500.0
25 Michigan 15718.0
26 Micronesia 0.0
27 Minnesota 986.0
28 Mississippi 1738.0
29 Missouri 2367.0
30 Montana 300.0
31 Nebraska 367.0
32 Nevada 1836.0
33 New Hampshire 669.0
34 New Jersey 37505.0
35 New Mexico 624.0
36 New York 119435.0
37 North Carolina 2870.0
38 North Dakota 207.0
39 Northern Marianas 8.0
40 Ohio 4043.0
41 Oklahoma 1250.0
42 Oregon 1068.0
43 Palau 0.0
44 Pennsylvania 11510.0
45 Puerto Rico 475.0
46 Rhode Island 922.0
47 South Carolina 2049.0
48 South Dakota 240.0
49 Tennessee 3633.0
50 Texas 6812.0
51 Utah 1605.0
52 Vermont 512.0
53 Virgin Islands 42.0
54 Virginia 2878.0
55 Washington 6973.0
56 West Virginia 324.0
57 Wisconsin 2267.0
58 Wyoming 200.0
Чтобы найти это (это не всегда так), но вы хотите go на сайт, и право нажмите и откройте Inspect
(Dev Tools). Затем вы хотите искать в сети -> XHR. Если оно пустое / пустое, вам может потребоваться обновить / перезагрузить страницу.
Затем вам нужно выполнить поиск / расследование, чтобы выяснить, есть ли нужные вам данные. Что в этом случае я нашел там (как вы можете видеть в выделенной части:
![enter image description here](https://i.stack.imgur.com/97yxt.png)
Как только вы найдете это, вы можете go до Headers
для поиска соответствующей информации / параметров, которые вам понадобятся для извлечения данных.
![enter image description here](https://i.stack.imgur.com/jMc3W.png)
Это может / будет отличаться для других сайты, некоторые более сложные, чем некоторые, и некоторые сайты вообще не будут работать, но это общий метод.