[解決済み] python BeautifulSoup テーブルのパース
2022-05-15 15:21:55
質問
Pythonを勉強しています。
requests
とBeautifulSoupを学んでいます。 練習のために、私は簡単なNYCの駐車券パーサーを書くことにしました。 私は非常に醜いhtml応答を取得することができます。 私は
lineItemsTable
を取得し、すべてのチケットをパースする必要があります。
ここに行けば、このページを再現することができます。
https://paydirect.link2gov.com/NYCParking-Plate/ItemSearch
を入力し
NY
プレート
T630134C
soup = BeautifulSoup(plateRequest.text)
#print(soup.prettify())
#print soup.find_all('tr')
table = soup.find("table", { "class" : "lineItemsTable" })
for row in table.findAll("tr"):
cells = row.findAll("td")
print cells
誰か助けてください。 すべてを探している単純な
tr
を探すだけでは、どこにも行き着きません。
どのように解決するのですか?
はい、これです。
data = []
table = soup.find('table', attrs={'class':'lineItemsTable'})
table_body = table.find('tbody')
rows = table_body.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele]) # Get rid of empty values
これによって
[ [u'1359711259', u'SRF', u'08/05/2013', u'5310 4 AVE', u'K', u'19', u'125.00', u'$'],
[u'7086775850', u'PAS', u'12/14/2013', u'3908 6th Ave', u'K', u'40', u'125.00', u'$'],
[u'7355010165', u'OMT', u'12/14/2013', u'3908 6th Ave', u'K', u'40', u'145.00', u'$'],
[u'4002488755', u'OMT', u'02/12/2014', u'NB 1ST AVE @ E 23RD ST', u'5', u'115.00', u'$'],
[u'7913806837', u'OMT', u'03/03/2014', u'5015 4th Ave', u'K', u'46', u'115.00', u'$'],
[u'5080015366', u'OMT', u'03/10/2014', u'EB 65TH ST @ 16TH AV E', u'7', u'50.00', u'$'],
[u'7208770670', u'OMT', u'04/08/2014', u'333 15th St', u'K', u'70', u'65.00', u'$'],
[u'$0.00\n\n\nPayment Amount:']
]
注意すべき点が2つあります。
- 上記の出力の最後の行、Payment Amount はテーブルの一部ではありません。 テーブルの一部ではありませんが、これはテーブルがどのようにレイアウトされるかを示しています。これをフィルタリングすることができます。 リストの長さが7未満であるかどうかをチェックすることによって、それをフィルタリングすることができます。
- すべての行の最後の列は、入力テキストボックスなので、個別に処理する必要があります。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] ネストしたdictからのPythonデータクラス
-
[解決済み] Python で、クラスオブジェクトを dict にキャストするにはどうしたらいいですか?
-
[解決済み] readonlyプロパティをmockでモックするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MarketWatchからデータを取得する
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] PythonでSelenium WebDriverを使用してテキストを取得する方法
-
[解決済み] ネストしたdictからのPythonデータクラス
-
[解決済み] 巨大なテキストファイルから特定の行にジャンプするには?
-
[解決済み] re.sub置換パターンにおけるキャプチャグループの後方参照への対応
-
[解決済み] 乱数の行列を作成する簡単な方法
-
[解決済み] 関数が受け取るキーワード引数をリストアップできますか?
-
[解決済み] Python のモック patch.object を使って、他のメソッド内で呼び出されたメソッドの戻り値を変更する。
-
[解決済み] Pythonで文字列のb-プレフィックスを取り除くには?