Pythonでのスクレイピング
Pythonではじめてやったスクレイピングの記録
自分が覚えておく用
敵は気象庁。
import requests import lxml.html r = requests.get('http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s1.php?prec_no=44&block_no=47662&year=2015&month=1&day=&view=') r.encoding = 'utf-8' r_html = r.text root = lxml.html.fromstring(r_html)
requests.getでurl先のResponseオブジェクトを生成
r.encoding でエンコーディングを直す
r.text でオブジェクトのhtmlを取得
root = lxml.html.fromstring(r_html)
で取得したhtmlをxmlとしてrootに格納?(この表現であってるのか…)
あとlxml.htmlでimportしないとlxml.html使えないんですねimport lxmlで全部importすると思ってました
あとはroot.xpath('//a')とかして中身を参照できる
テキストとして子要素を取り出す場合
str = root.xpath('//a').text
とかして取り出せる。
JavaScriptのときはまた別でPhantomJSというものを使うらしい。
使うことになったら書く。
はてブでコードを書き込むとき
[はてな記法]ソースコードを色付けして表示する(シンタックスハイライト) - はてなブログ ヘルプ
の内容を使えばコードがハイライトされる。