Python mechanizeを使って、
JTBのサイトからツアー商品の情報を自動収集したいと思っています。
例えば、
下記のリンクにPCのブラウザ上から飛ぶと、
http://ovspkg.jtb.co.jp/pkg/toursearch/search_result.aspx?deptplacecd=HND&destareacd=HWI
羽田出発、目的地ハワイのツアー商品が
読み込み中と出た後、ブラウザ上で表示されますが、
下記のコードを使って、スクレイピングすると、
br = mechanize.Browser()$
br.addheaders = [('User-agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20')]
br.open('http://ovspkg.jtb.co.jp/pkg/toursearch/search_result.aspx?deptplacecd=HND&destareacd=HWI')
print br.response().resd()
読み込みという状態でのHTMLは取得できませんが、
その後の読み込み後のリンクなどを取得できません。
どうにか、読み込み後のHTMLを取得したいのですが、
良い方法を知っている方はいらっしゃいませんでしょうか?
よろしくお願いします。
検索結果はajaxで取ってきています。なのでjavascriptを実行するか、エミュレーションする必要があります。
一つはjavascriptも解釈してくれるツールを使うことです。
http://hatakazu.hatenablog.com/entry/2012/06/10/083928
http://qiita.com/tekkoc/items/f610289c7ce36f680d94
も一つは人力でアクセスやスクリプトを解析してpythonで必要な事を行います。
簡単なことなら出来ますね。
http://d.hatena.ne.jp/mohayonao/20120101/1325374486
複雑なのも根気よく解析すれば不可能ではないですが...
JTBのも難読化されているわけでもないようですが...
...
mechanizeは諦め、も一つの方を勧めます。