Open2
pandas dataframe周り 小技
前提
# pdと書いたらpandasのこと
import pandas as pd
# npと書いたらnumpy
import numpy as np
# dfと書いたら任意のDataFrameのこと
session付でのスクレイピング
import requests
from bs4 import BeautifulSoup
login_url = "" # login画面のurl
logined_url = "" # login成功時のurl
s = requests.session() # セッション開始
response = s.get(login_url)
soup = BeautifulSoup = BeautifulSoup(response.text, 'html.parser')
# サイトのinputに準拠
login_data = {
"mail": "",
"pass": "",
"csrf_token": soup.find(attrs={"name": "csrf_token"}).get('value'),
}
# cookie
response_cookie = response.cookies
# ログインする
login_response = s.post(logined_url, data=login_data, cookies=response_cookie)
# ① beautifulsoupによる値取得
soup = BeautifulSoup(<any_url>, 'html.parser')
# ② pandasのread_htmlをつかって表を簡単に取得
html = s.get(<any_url>) # htmlを入手
df_list = pd.io.html.read_html(html.content) # 返値はtable要素を詰め込んだリスト