【Python】pandasでhtmlのtableをスクレイピング
概要
以下でBeautifulSoupを使ってwebページのhtmlからtableをスクレイピングしたときに少しはまったときの対処法について書きましたが、pandasを使ったらそんなこと悩んだ時間が何だったんだろうというくらい一瞬でできてしまったのでメモします。
tableを取得するコード
BeautifulSoupを使う場合
01 02 03 04 05 06 07 08 09 10 11 | import requests from bs4 import BeautifulSoup soup = BeautifulSoup(r.content, "lxml" ) table = soup.findAll( 'table' ,{ 'class' : "test_table" })[ 0 ] rows = table.findAll( 'tr' ) for row in rows: print (row) |
pandasを使う場合
01 02 03 04 05 |
pandasを使用する場合は得られるデータ形式がDataFrameですが、pythonで表を扱う場合は最初からDataFrameでとれたほうが有難いので全く問題無し。今後どんどん使っていってデメリットとかあるかは調べてみます。
以上
Pythonを一から学ぶのにおすすめの本はコチラ