Loading [MathJax]/jax/output/HTML-CSS/config.js
 【Python】pandasでhtmlのtableをスクレイピング – Obenkyolab

【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
  
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を使う場合

01
02
03
04
05
import pandas as pd
 
df = pd.read_html(url)
print(df[0])

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

以上

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

おすすめ

コメントを残す

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