WEBページの表示方法が変わっていて、以下の方法では取得できなくなっていました。

くじ、ロト6などの結果を取得する方法をごらんください。そのままCSVで取れそうです。(GIST)


python では、文字列処理が簡単にでき、インターネット上のデータへのアクセスも簡単にできます。

そこで、python でロト6の最新の当選番号を取ってみたいと思います。

ライブラリリファレンスの urllib のあたりを見てみると、Requests モジュールというのがおすすめなようなので、まず、このモジュールをインストールしておきます。(pip をインストールしておく必要があります。)

pip install requests

さて、みずほ銀行のホームページからデータを取ってみます。

import requests
 r= requests.get(‘http://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html’)
r
<Response [200]>

取れたようです。

print(r.text)

文字化けしているようです。

r.encoding
‘ISO-8859-1’

クイックスタートを見ると、encodingsを変えればよさそうです。

r.encoding=’utf-8′
print(r.text)

文字化けせず表示されるようになりました。
html が返ってきています。

の部分に格納されているので、ここを取り出せばよいですね。
python の標準ライブラリを使って頑張ってもいいのですが、めんどうなので、BeautifulSoup というライブラリを使います。

quit() で一旦抜けて、pip install beautifulsoup4 を実行します。

もう一度、python を起動します。

import requests
r=requests.get(‘http://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html’)
r.encoding=’utf-8′

をもう一度打ちなおします。
>>> import bs4
>>> s = bs4.BeautifulSoup(r.text)
とします。
>>> s.title
u307fu305au307bu9280u884c u5b9du304fu3058u30b3u30fcu30cau30fcuff1au30edu30c86xa0u6700u65b0u56deu53f7
>>> print(s.title)
みずほ銀行 宝くじコーナー:ロト6 最新回号
とか、
>>> s.find_all(‘table’)
[
:
]