Web Scraping (スクレイピング)とは
Web上から欲しい情報のみを抽出・処理する技術のこと
まあ,とりあえずこれを実行してみてください
import requests
import json
r = requests.get('https://nikkei225jp.com/chart/')
text = r.text
date = text.split('<div class=wtimeT>')[1].split('</div>')[0]
nikkei = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')
dau = text.split('<div class=if_cur>')[2].split('</div>')[0].replace(',','')
kawase = text.split('<div class=if_cur>')[3].split('</div>')[0].replace(',','')
print('今日は',date,'です')
print ('日経株価は ',nikkei, '円です')
print ('ダウ平均株価は', dau, '円です')
print ('為替ドルは', kawase,'円です')
a=open('shares.csv','w')
a.write('日時,日経平均株価,ダウ平均株価,為替ドル\n')
a.write(date+','+nikkei+','+dau+','+kawase+'\n')
a.close()
今日は 2019/03/23 です
日経株価は 21627.34 円です
ダウ平均株価は 25502.32 円です
為替ドルは 109.93 円です
こんなかんじにprintされると思います
日時,日経平均株価,ダウ平均株価,為替ドル
2019/03/23,21627.34,25502.32,109.93
こんなかんじのファイルができてるかと思います
プログラムが何をやったのかというと
この日経株価サイトの
日時,日経平均株価,ダウ平均,為替ドル
といった情報を抽出・print・保存しました

Web Scrapingにも Beautiful Soup だったり Selenium 使った便利なやり方がありますが
今回は requests のみの原始的なやり方を採用しました
流れとしては
r = requests.get('スクレイピングしたいページのURL')
で返されたたレスポンス(ページ情報)が変数rに格納されて
text = r.text
で返ってきたレスポンスrのボディ(HTML本体)をtextとしてテキスト形式で取得してます

例えば日経平均株価である21,627.34
を抽出したければ
上図のように抽出したい情報を選択して
「検証」または「ページのソースを表示」で検索にかけると
<div class="if_cur">21,627.34</div>
このようにif_curというクラスでサンドイッチ状態なので
nikkei = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')
この一行でnikkeiとして中身を抽出してるかんじです
.replace(',','')はカンマ(,)を取り除いてるだけです
ダウ平均, 為替ドル, 時刻 も同じやり方です
一番原始的だけどわりといろんなパターンに対応できるやり方です
Beautiful Soup で指定タグ全部持ってこよう!
今度はさっきの日経平均株価ページ内に存在するリンク(URL)を全部抽出します
今回はさっきのように一個ずつ抽出するコード描いてたらキリがないので
とりあえずaタグ(URLのあるタグ)を全部抽出して配列に格納してくパターンです
Beautiful Soupはこれで入れてください
$ pip install beautifulsoup4
先ほどのプログラムにaタグ取得コードを追加しただけです
とりあえず実行してみてください
import requests
import json
from bs4 import BeautifulSoup
r = requests.get('https://nikkei225jp.com/chart/')
text = r.text
date = text.split('<div class=wtimeT>')[1].split('</div>')[0]
nikkei = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')
dau = text.split('<div class=if_cur>')[2].split('</div>')[0].replace(',','')
kawase = text.split('<div class=if_cur>')[3].split('</div>')[0].replace(',','')
print('今日は',date,'です')
print ('日経株価は ',nikkei, '円です')
print ('ダウ平均株価は', dau, '円です')
print ('為替ドルは', kawase,'円です')
a=open('shares.csv','w')
a.write('日時,日経平均株価,ダウ平均株価,為替ドル\n')
a.write(date+','+nikkei+','+dau+','+kawase+'\n')
a.close()
# ここから下が追加分
soup = BeautifulSoup(r.text , "html.parser")
for a in soup.find_all('a'):
if 'http' in str(a): #今回は http ついてる aタグのみに限定
#print(a.text) # aタグの中身(タイトル)
print(a.attrs['href']) #URL
今日は 2019/03/23 です
日経株価は 21627.34 円です
ダウ平均株価は 25502.32 円です
為替ドルは 109.93 円です
http://xn--u9jt60g57a227ciso.com/
http://quote.jpx.co.jp/jpx/template/quote.cgi?F=tmp/real_index&QCODE=155
http://klug-fx.jp/holiday/
https://jp.investing.com/holiday-calendar/
https://db.225225.jp/
https://nikkei225jp.com/chart/
https://nikkei225jp.com/nasdaq/
https://nikkei225jp.com/fx/
https://ch225.com/
https://225225.jp/
https://nikkei225jp.com/cme/
https://adr-stock.com/
http://fx.minkabu.jp/indicators/calendar
http://jp.reuters.com/investing/news/economic
http://www3.nhk.or.jp/news/html/20190323/k10011858101000.html
http://moneyzine.jp/article/detail/215915
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/19cDqM88PGE/graphics-frb-idJPKCN1R30VK
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/wqkbZgbeMMA/asia-companies-outlook-analysis-idJPKCN1R30Y2
http://www.asahi.com/articles/ASM3D3S9TM3DULFA00N.html?ref=rss
http://diamond.jp/articles/-/197806
http://www.asahi.com/articles/ASM3R1SPZM3RUHBI003.html?ref=rss
https://zai.diamond.jp/list/fxnews/detail?id=312805&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312804&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312803&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312802&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312801&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
http://www3.nhk.or.jp/news/html/20190322/k10011857501000.html
http://diamond.jp/articles/-/197800
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/k7hVYUD0Rlw/usa-trump-russia-idJPL3N21949Q
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/7SX2E12xQqA/ny-market-summary-0322-idJPKCN1R32TP
https://www.nikkei.com/article/DGXLASM7IAA05_T20C19A3000000/
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/vP8IyPxDb_w/EU-HUAWEI-TECH--idJPL3N21946T
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/dhPXy0bfxg8/ny-stx-us-idJPKCN1R32SJ
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/f5sMkCorXO8/ny-forex-idJPKCN1R32SB
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/fYZ-Sat0U3Y/ny-markets-summary-idJPL3N2194BF
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/unMMYgBSv38/ny-stx-us-idJPL3N21946R
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/FIxyRRMByHY/pinterest-ipo-idJPL3N21949V
https://zai.diamond.jp/list/fxnews/detail?id=312800&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://www.nikkei.com/article/DGXLASH2ICE01_T20C19A3000000/
http://www.traders.co.jp/foreign_stocks/market_s.asp#today
http://www.gaitame.com/market/yosoku.html
http://market.fisco.co.jp/update/index.jsp
http://www.traderswebfx.jp/news/default.aspx?ID=7#newslist
http://kabuyoho.ifis.co.jp/
http://www.tokyoipo.com/top/iposche/index.php?j_e=J
http://klug-fx.jp/holiday/
https://jp.investing.com/holiday-calendar/
http://world.honda.com/worldclock/
https://news.yahoo.co.jp/search?p=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&ei=utf-8&fr=news_sw
https://www.google.co.jp/search?hl=ja&gl=jp&tbm=nws&authuser=0&q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&oq=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&gs_l=news-cc.1.0.43j43i53.2284.2284.0.5545.1.1.0.0.0.0.56.56.1.1.0...0.0...1ac.1.oMorwBF68ss#q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&hl=ja&gl=jp&authuser=0&tbm=nws&tbs=sbd:1
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
https://www.dukascopy.jp/
ページ内のリンクとってこれてるのがわかると思う
# print(a.text) # aタグの中身(タイトル)
部分のコメントアウトとればaタグのタイトルもとってこれる
今日は 2019/03/23 です
日経株価は 21627.34 円です
ダウ平均株価は 25502.32 円です
為替ドルは 109.93 円です
世界の株価.com
http://xn--u9jt60g57a227ciso.com/
東
http://quote.jpx.co.jp/jpx/template/quote.cgi?F=tmp/real_index&QCODE=155
[Klug]
http://klug-fx.jp/holiday/
[Investing]
https://jp.investing.com/holiday-calendar/
リアルタイム市況 Parts
https://db.225225.jp/
日経平均株価
https://nikkei225jp.com/chart/
ダウ平均株価
https://nikkei225jp.com/nasdaq/
為替 ドル円
https://nikkei225jp.com/fx/
世界株価
https://ch225.com/
携帯
https://225225.jp/
CME
https://nikkei225jp.com/cme/
ADR
https://adr-stock.com/
みんなの為替
http://fx.minkabu.jp/indicators/calendar
ロイター
http://jp.reuters.com/investing/news/economic
外国人材受け入れ拡大で生活支援サービス強化の動き
http://www3.nhk.or.jp/news/html/20190323/k10011858101000.html
銀行の預金、149か月連続で前年同月上回る マイナス金利導入後、銀行の収益環 …
http://moneyzine.jp/article/detail/215915
アングル:FRBのハト派転換、米家計にもたらす好影響
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/19cDqM88PGE/graphics-frb-idJPKCN1R30VK
焦点:アジア企業の設備投資、中国減速で3年ぶりに減少へ
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/wqkbZgbeMMA/asia-companies-outlook-analysis-idJPKCN1R30Y2
原発支援へ補助制度案 経産省、2020年度創設めざす
http://www.asahi.com/articles/ASM3D3S9TM3DULFA00N.html?ref=rss
22日のNY市場は大幅下落 - 最新株式ニュース
http://diamond.jp/articles/-/197806
NYダウ大幅反落、460ドル安 世界経済の減速懸念
http://www.asahi.com/articles/ASM3R1SPZM3RUHBI003.html?ref=rss
続伸、株安や債券高からリスク回避的な資金が流入
https://zai.diamond.jp/list/fxnews/detail?id=312805&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
NY金先物は続伸、株安や債券高からリスク回避的な資金が流入
https://zai.diamond.jp/list/fxnews/detail?id=312804&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
NY原油先物は続落、世界経済の悪化が深刻化するとの懸念
https://zai.diamond.jp/list/fxnews/detail?id=312803&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
NY市場動向(取引終了):ダウ460.19ドル安(速報)、原油先物0.94ドル安
https://zai.diamond.jp/list/fxnews/detail?id=312802&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
世界各国通貨に対する円:対ドル0.81%高、対ユーロ1.43%高
https://zai.diamond.jp/list/fxnews/detail?id=312801&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
外国人材 新在留資格取得へテキスト作成 外食企業の業界団体
http://www3.nhk.or.jp/news/html/20190322/k10011857501000.html
ECBはデジタル通貨発行の意思なし=メルシュ理事【フィスコ・ビットコインニュ …
http://diamond.jp/articles/-/197800
UPDATE 1-米特別検察官、ロシア疑惑の捜査報告書提出 これ以上の起訴提言せず
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/k7hVYUD0Rlw/usa-trump-russia-idJPL3N21949Q
NY市場サマリー(22日)
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/7SX2E12xQqA/ny-market-summary-0322-idJPKCN1R32TP
NY円、反発 1ドル=109円90銭?110円00銭で終了、一時1カ月ぶり円高
https://www.nikkei.com/article/DGXLASM7IAA05_T20C19A3000000/
再送-EXCLUSIVE-欧州委、5Gからファーウェイ排除せず データ共有提言へ=関 …
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/vP8IyPxDb_w/EU-HUAWEI-TECH--idJPL3N21946T
米国株式市場が急反落、世界景気低迷不安強まる
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/dhPXy0bfxg8/ny-stx-us-idJPKCN1R32SJ
ドルが対円で下落、米長短金利逆転で景気懸念高まる=NY市場
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/f5sMkCorXO8/ny-forex-idJPKCN1R32SB
NY市場サマリー(22日)
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/fYZ-Sat0U3Y/ny-markets-summary-idJPL3N2194BF
米国株式市場=急反落、世界景気低迷不安強まる
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/unMMYgBSv38/ny-stx-us-idJPL3N21946R
UPDATE 1-米画像共有ピンタレストがIPO申請、1億ドル規模か
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/FIxyRRMByHY/pinterest-ipo-idJPL3N21949V
NYマーケットダイジェスト・22日 株大幅安・ユーロ安・リラ急落
https://zai.diamond.jp/list/fxnews/detail?id=312800&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
シカゴ日本株先物概況・22日
https://www.nikkei.com/article/DGXLASH2ICE01_T20C19A3000000/
スケジュール
http://www.traders.co.jp/foreign_stocks/market_s.asp#today
経済指標予定
http://www.gaitame.com/market/yosoku.html
強弱材料・留意事項
http://market.fisco.co.jp/update/index.jsp
要人発言
http://www.traderswebfx.jp/news/default.aspx?ID=7#newslist
決算スケジュール
http://kabuyoho.ifis.co.jp/
IPOスケジュール
http://www.tokyoipo.com/top/iposche/index.php?j_e=J
市場休日
http://klug-fx.jp/holiday/
市場休日
https://jp.investing.com/holiday-calendar/
世界時計
http://world.honda.com/worldclock/
Yahoo!News「日経平均」
https://news.yahoo.co.jp/search?p=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&ei=utf-8&fr=news_sw
Google News「日経平均」
https://www.google.co.jp/search?hl=ja&gl=jp&tbm=nws&authuser=0&q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&oq=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&gs_l=news-cc.1.0.43j43i53.2284.2284.0.5545.1.1.0.0.0.0.56.56.1.1.0...0.0...1ac.1.oMorwBF68ss#q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&hl=ja&gl=jp&authuser=0&tbm=nws&tbs=sbd:1
FISCO
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
https://www.dukascopy.jp/
こんなかんじでURLとタイトル部分もとってこれます
中にはhttpのリンク部分はあるけどリンクタイトルがないなんて場合もある
***B.S.***ほんと便利ですよね
***B.S.***の他のメソッドはこちらを参考に!
selenium使ったWeb Scrapingも別に紹介している(する予定)なので
よければそっちもどうぞϵ( 'Θ' )϶
Github