Open2

pandas dataframe周り 小技

marumaru

前提

# pdと書いたらpandasのこと
import pandas as pd

# npと書いたらnumpy
import numpy as np

# dfと書いたら任意のDataFrameのこと
marumaru

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要素を詰め込んだリスト