読者です 読者をやめる 読者になる 読者になる

Python + BeautifulSoup4 でスクレイピング

Python

まず easy_install できるようにする。

c:\tmp>set path=%path%;c:\Python34
 
c:\tmp>python
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
 
>>> import shutil
>>> import urllib.request
>>> req = urllib.request.urlopen('https://bootstrap.pypa.io/ez_setup.py')
>>> with open('ez_setup.py', 'wb') as fp:
...     shutil.copyfileobj(req, fp)
...
>>> quit()
 
c:\tmp>python ez_setup.py
c:\tmp>set path=%path%;c:\Python34\Scripts
c:\tmp>easy_install beautifulsoup4

例として気象庁から東京地方の天気を取得してみる。

import urllib.request
from bs4 import BeautifulSoup
 
req = urllib.request.urlopen('http://www.jma.go.jp/jp/yoho/319.html')
soup = BeautifulSoup(req)
 
print(soup.select('.textframe')[0].text)

結果

天気概況
平成26年8月23日23時09分 気象庁予報部発表

 小笠原諸島では明日明け方にかけて、伊豆諸島では明日昼前にかけて、落
雷や突風、急な強い雨に注意してください。

 千島近海の低気圧から寒冷前線が関東の東にのびています。

【関東甲信地方】
 現在、関東甲信地方は、概ね曇りで、雨や雷雨となっている所があります
。

 今夜は、上空の寒気を伴った気圧の谷の影響で、大気の状態が非常に不安
定となるため、雨や雷雨となり、激しく降る所があるでしょう。

 明日は、上空の寒気が残るため、雲が広がりやすく、山沿い中心に雨や雷
雨となり、激しく降る所がある見込みです。

 関東近海では、今夜から明日にかけて、波がやや高いでしょう。

【東京地方】
 今夜は、曇りでしょう。
 明日は、曇りで昼前まで時々晴れますが、所により夕方から雨や雷雨とな
るでしょう。