IT Learning

実践形式でITのお勉強

Python

【Python】pandasでhtmlのtableをスクレイピング

投稿日:2020年9月8日 更新日:

概要

以下でBeautifulSoupを使ってwebページのhtmlからtableをスクレイピングしたときに少しはまったときの対処法について書きましたが、pandasを使ったらそんなこと悩んだ時間が何だったんだろうというくらい一瞬でできてしまったのでメモします。

tableを取得するコード

BeautifulSoupを使う場合

import requests
from bs4 import BeautifulSoup
 
r = requests.get('http://example.com',headers = headers)
soup = BeautifulSoup(r.content, "lxml")
 
table = soup.findAll('table',{'class':"test_table"})[0]
 
rows = table.findAll('tr')
for row in rows:
    print(row)

pandasを使う場合

import pandas as pd

url = 'http://example.com'
df = pd.read_html(url)
print(df[0])

pandasを使用する場合は得られるデータ形式がDataFrameですが、pythonで表を扱う場合は最初からDataFrameでとれたほうが有難いので全く問題無し。今後どんどん使っていってデメリットとかあるかは調べてみます。

以上

Pythonを一から学ぶのにおすすめの本はコチラ

Related

-Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です