Python スクレイピング はじめの一歩


Pythonでのスクレイピングの基本的なコードです。
ここでは「株探」のwebページから本日の四本値を取得しています。
※urllib、BeautifulSoupのインストールは別途必要
※Python3.x

# %reset
# get html ----------------------------------
code = '4188'
url = 'https://kabutan.jp/stock/?code=' + code
from urllib import request
html = request.urlopen(url)

# Beautiful soup ----------------------------------
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')

# extract rows -------------------------------------
table = soup.findAll('table',{'class':'stock_st_table'})[0]
rows = table.findAll('td')

# get parameters ------------------------------------------
# date
date = table.find("td",{'class':'stock_st_table_top'}).get_text()
# prices and times
table = soup.findAll('table',{'class':'stock_st_table'})[0]
rows = table.findAll('td')
price = {}
time = {}
for i, row in enumerate(rows):
    buf = row.get_text()
    if buf in ['始値','高値','安値','終値']:
        key = buf
        price[key] = rows[i+1].get_text()
        time[key] = rows[i+3].get_text()[1:-1]

※必要に応じてwebページのソースコードを確認しましょう。chromeなら右クリック→「ページのソースを表示」
※コーディング規約は意識してないです。規約を大事にされている方々ごめんなさい。
※スクレイピングされる側にも負担になりますので、やりすぎに注意しましょう。