Kazu Home Page

Jul 22, 2020
XML
テーマ: 競馬予想(65617)
カテゴリ: IT関連情報
2年前に機械学習を使ってAI​ 競馬予想を行っていました ​が、ある時から私の純粋エクセルが欲しくなりましたが、何か良い方法を考えていました。

私の行いたい手順としては下記の通りです。
1.netkeibaからレース情報の取得(<-- ここが出来なくなった)
2.自分で作った関数で重みづけ(<-- Libreoffice で可能)
3.機械学習による競馬予想(<-- Anacondaで可能)

という事で情報取得をPythonで動かしたいというのが今回の目的です。

調べると、スクレイピングという言葉が出てきました。​ このページ

たった2行で取得できるのか?と思い早速入力してみました。

url = 'https://www.yahoo.co.jp/'
res = requests.get(url)
res.text[:500]


上記のようにさっそくエラーがでました。もう少し読むと、requestsを入れるにはインストールやインポートが必要になります。詳しい説明は、「 図解!Beautiful SoupでWEBスクレイピング徹底解説! 」を参照ください。と書いてあります。やり方は、自分はAnaconda3を使っているので、promptを選択してから。


conda install requestsを入力するようです。

良し出来たと思い、先ほどのコマンド実行前に下記のコマンドを入力して

#requests をインポートします。(Web scrapingには必須)
import requests


再度実行すると。resまではゲットできたようですが、表示させようとしたresponseで再度エラー、躓きました。



どうやら、responsesもインストールかと思いましたが、resにinputしたので、resを出力しないと行けなかったです。



再度ぐぐっていると。encodeが出来るとのこと。下記コマンドを実行です。
res.encoding = res.apparent_encoding


そうすると、表示してくれました。HTMLがそのまま出ているようです。とりあえずスクレイピングは出来た模様です。


次回はこれをテキストに出力、取り込みたいフォーマットに変換するところをまで行いたいです。


#requests をインポートします。(Web scrapingには必須)
import requests
#urlを取得 
url = 'https://race.netkeiba.com/race/shutuba_past.html?race_id=202004020211&rf=shutuba_submenu'
#resに内容を代入
res = requests.get(url)
#resをencodeして文字化け回避
res.encoding = res.apparent_encoding
#画面出力
print(res.text)
​文字化け対策には別のコマンドもあるようです。上記でダメな場合は使ってみても良いと思います。
#BeautifulSoup は文字化け対策
from bs4 import BeautifulSoup
res.encoding = 'shift_jis'
soup =BeautifulSoup(res.text , 'html.parser')





お気に入りの記事を「いいね!」で応援しよう

Last updated  Jul 23, 2020 08:08:26 AM
コメント(2) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


Re:Python で 競馬予想 第1回(データ取得編 scraping スクレイピング)(07/22)  
グリ太  さん
ご無沙汰してます。

netkeiba スクレイピングで調べていたら、なんとこのページが引っ掛かりました。私もデータさえうまくダウンロードできれば書けるなとおもっているのとこなので、ちょっと頑張ってみたいと思います。 (Aug 4, 2020 10:05:22 PM)

Re[1]:Python で 競馬予想 第1回(データ取得編 scraping スクレイピング)(07/22)  
kazu_x68k  さん
グリ太さんへ
本当にご無沙汰ですね。最近登録したばかりなのに、さっそくひっかかるとは、みんな機械学習を使いたくて仕方ないのですね。そっちのルーチンは出来ているので、あとはうまくデータを加工できればというところです。頑張ります。 (Aug 6, 2020 10:18:43 PM)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Free Space

設定されていません。

Calendar

Comments

kazu_x68k @ Re[1]:2021年ブログ初め 文字化け解消(01/04) グリ太さんへ 遅くなりましたが、明けまし…
グリ太 @ Re:2021年ブログ初め 文字化け解消(01/04) 明けましておめでとうございます。今年も…
グリ太 @ Re:Python で 競馬予想 実践第10回 チャンピオンズカップ他(12/06) 私も相手探しだとは思うのですが、川田がG…
kazu_x68k @ Re[1]:Python で 競馬予想 実践第8回 ジャパンカップ他(11/28) グリ太さんへ さすがに3強には勝てなかっ…

Favorite Blog

ごった煮 グリ太さん
趣味のDVDと投資… チャック・ハウアさん
 TM万太郎の なまら… TM万太郎さん

Archives

Dec , 2025
Nov , 2025
Oct , 2025
Sep , 2025
Aug , 2025

© Rakuten Group, Inc.
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: