from bs4 import BeautifulSoup
import requests
import pandas as pd
import numpy as np
from datetime import datetime,timedelta
body_class = "research-covid-client"/span>
url = 'https://www.multistate.us/research/covid/public'/span>
response = requests.get(body_class)
soup = BeautifulSoup(response.text, 'html.parser')
tiff_table = requests.get(url, attrs={'class': body_class})
df = pd.read_html(str(tiff_table))
print(df)
我嘗試了上面這段代碼,但我認為它不會起作用,我認為解決方案是遍歷每個tr,然后把這些放到一個資料框架中。我也試過這樣做,但得到一個錯誤的尺寸,我不確定如何找到表的尺寸。我將非常感謝任何幫助。
uj5u.com熱心網友回復:
你可以只用pandas來做這件事。
代碼:
import pandas as pd
dfs = pd.read_html('https://www.multistate.us/research/covid/public')
df = dfs[0]
print(df)
輸出:
Jurisdiction ... 疫苗任務
0阿拉巴馬州 ... 阿拉巴馬州禁止政府物體從is...
1 阿拉斯加 ... 瑙恩
2 Arizona ... 亞利桑那州長Doug Ducey發布了一項行政命令。
3 阿肯色州 ... 禁止阿肯色州各機構或物體,或物體。
4 加州 ... 加州要求州政府雇員和H...
5 科羅拉多 ... 所有州政府雇員都必須接種疫苗,以預防...
6 康涅狄格州 ... 康涅狄格州規定,所有療養院的作業人員都必須接種疫苗。
7特拉華州 ... 8月12日,2021,州長卡尼規定,...
8佛羅里達州... 佛羅里達州禁止政府機構、政府...
9 喬治亞州 ... 喬治亞州禁止縣或地方政府...
10 Hawaii ... 所有夏威夷州的雇員(州和縣) ...
11 愛達荷州 ... 州長Brad Little簽署了一項行政命令,支持...
12 伊利諾斯州 ... 伊利諾伊州實施冠狀病毒疫苗或 r...
13印第安納州 ... 印第安納州禁止州政府、任何的...
14 Iowa ... 5月20日,2021日,州長雷諾茲簽署了HF8.。
15 堪薩斯州 ... 堪薩斯州禁止政府機構、建筑公司和其他機構的人員參與。
16 肯塔基州 ... 無
17 Louisiana ... 毫無意義
18 緬因州 ... 醫護人員被要求接受疫苗接種。
19 馬里蘭州 ... 馬里蘭州要求養老院作業人員和衛生保健人員和衛生保健人員和衛生保健人員。
20 馬薩諸塞州 ... 瑙恩
21 Michigan ... 毫無意義
22 明尼蘇達 ... 國家雇員必須再次全面接種疫苗...
23 密西西比州 ... 密西西比州目前沒有疫苗 ...
24 密蘇里州 ... 密蘇里州禁止地方、公共資助的機構和個人使用疫苗。
25 蒙大拿 ... 蒙大拿州州長Gianforte發布了一項行政命令,禁止地方政府為其提供資金。
26 內布拉斯加州 ... 內布拉斯加
27 內華達 ... 從8月15日開始,2021日,州政府雇員必須...
28新罕布什爾州... 禁止地方政府從強制執行空缺。
29 新澤西州 ... 新澤西州規定,所有公立學校的茶...
30 新墨西哥州 ... 新墨西哥州要求所有工人在醫療衛生機構作業。
31 New York ... 紐約要求所有醫療保健作業者在新澤西州作業。
32北卡羅來納州... 從9月1日開始,2021日,所有內閣機構都將被取消。
33 North Dakota ... 在北達科他州,沒有任何政府機構或企業...
34 Ohio ... 瑙恩
35 Oklahoma ... 毫無懸念
36 俄勒岡州 ... 布朗州長宣布,所有行政部門的人員都將被解雇。
37 賓夕法尼亞州 ... 瑙恩
38 羅德島 ... 8月18日,2021,麥基州長授權一個...
39南卡羅來納州... 南卡羅來納州禁止任何機構、部門或個人在其管轄范圍內的活動。
40 South Dakota ... 南達科他州禁止州政府機構、州政府機關、州政府機構、州政府機關、州政府機關、州政府機關、州政府機關。
41 田納西州 ... 田納西州禁止州政府或地方政府。
42 Texas ... 德克薩斯州禁止任何政府物體從r...
43 Utah ... 瑙恩
44 Vermont ... 9月8日,2021日,斯科特州長宣布:"...
45 弗吉尼亞州... 8月5日,2021,州長Ralph Northan授權...
46 華盛頓... 州長Inslee命令大多數州作業人員和...
47 西弗吉尼亞州 ... 瑙恩
48 Wisconsin ... 無
49 Wyoming ... 毫無意義
[50 行 x 7 列]
uj5u.com熱心網友回復:
你的代碼中有一個錯誤,你應該呼叫requests.get(url)而不是requests.get(body_class)
這就是說,解決你的問題(例如,提取 html 頁面中的特定節點)的一般方法是使用 XPath
我對使用Parsel的看法 :
import requests
import pandas as pd
from parsel import Selector
url = "https://www.multistate.us/research/covid/public?level=state"/span>
html = requests.get(url).text
Selector = Selector(html)
table_html = selector.xpath('//table'/span>).get()
df = pd.read_html(table_html)[0]
print(df)
通過玩弄URL和XPath選擇器,你會得到你需要的東西:)
。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/320240.html
標籤:
