general notes

いろいろなまとめ

Python Webスクレイピング

# webスクレイピング1 日本経済新聞のHPから日経平均を取得
# https://qiita.com/hirouen/items/7bc7fa05cc2d774edf44

# requests
# https://requests-docs-ja.readthedocs.io/en/latest/

# BeautifulSoup
# https://www.crummy.com/software/BeautifulSoup/bs4/doc/

# このあたりをひっかけてくる
# <div class="m-miH01C_list js-miH01" id="js-ticker_list"><ul><li class="m-miH01C_item">
# <div class="m-miH01C_cell m-miH01C_cell_col5" data-id="JSID_JpnIndex"><a href="/markets/worldidx/chart/nk225/" title="11/13 15:15 大引"><span class="m-miH01C_exchange">日経平均</span><span class="m-miH01C_rate">21,810.52</span><span class="m-miH01C_comparison minus">-459.36</span></a></div>
# <div class="m-miH01C_cell m-miH01C_cell_col5" data-id="JSID_DowJones"><a href="/markets/kaigai/" title="11/13 16:20 "><span class="m-miH01C_exchange">NYダウ</span><span class="m-miH01C_rate">25,286.49</span><span class="m-miH01C_comparison minus">-100.69</span></a></div>
# <div class="m-miH01C_cell m-miH01C_cell_col5" data-id="JSID_YenDollarExchange"><a href="/markets/kawase/" title="11/14 8:25"><span class="m-miH01C_exchange">ドル円</span><span class="m-miH01C_rate">113.78-79</span><span class="m-miH01C_comparison minus">-0.28</span></a></div>

import requests
from bs4 import BeautifulSoup

url = 'https://www.nikkei.com/'
html = requests.get(url)
# html.text で全文表示

soup = BeautifulSoup(html.text,"html.parser")
span = soup.find_all("span")

nikkei_heikin = ""

for tag in span:
    # print(tag)
    # print(tag.get("class"))
    string_ = tag.get("class")[0]
    
    # <span class="m-wficon triDown"></span> をtag.get("class")すると
    # ['m-wficon', 'triDown']のように、スペースで分割されてリストになるらしい
    
    # 元のコードはstring_ = tag.get("class").Pop(0)としてたが、
    # そうするとsoupで持ってるhtmlから当該classが消えてしまう(!)ので
    # string_ =tag.get("class")[0]とした
    
    if string_ in "m-miH01C_rate":
        nikkei_heikin = tag.string
        break
        
print(nikkei_heikin)

# 21,810.52 (2018/11/14 08:26実行時)