望むままに思うままに

君に出来ること。君が望むこと。 それは君自身が一番良く知っているはずだ

Pythonの勉強がてらスクレイピングしてみた

してみたけどこれGASでいいんじゃねって正直思った←

 

いくつか記事を見たけど、結局スクレイピングでやることって、

  1. 対象のページのhtmlを分析して抜き出したい内容の記述されている箇所のタグやクラス名を探し出す。
  2. 対象のURLのレスポンスを取得する
  3. 取得したレスポンスを正規表現その他で分解してほしい部分を抽出する。

っていう3つになる。

 

Pythonやその他言語を使う利点ってライブラリを使うことによって、3の部分の引っこ抜いたhtmlその他レスポンスを扱いやすいってだけでそれ以外あんまり利点ない気がする。(自分の見た限りだと)

それよりもPythonとか各言語の環境を準備するほうがよっぽど面倒くさいと思う。 環境準備の記事もたくさんあるけど、どれも(最終的には同じ環境ができあがるにせよ)書いてあることが違うし、未だに2系と3系の記事が混在してるのは辛い。

 

GASはGoogleアカウント持ってれば環境の準備は一切必要ない。 実行はクラウド上で行われているのでPCをつけっぱなしにするとかそういう必要もない。 さらに標準でスケジュール実行する機能もついている。これは結構デカイ。

 

 

ただし上記の通りライブラリは(多分)ないので抜き出す部分の正規表現は自分で書く必要がある。 けど、よっぽど複雑な構造でもなければ目的の1箇所を抜き出すくらいならちょっと調べれば出来る気がする。

ただしあくまでこれらは一定時間ごとに更新される静的なページの話。 javascriptで動的に生成されるページの内容とかを取得しようとすると話は変わってくるはず。

 

 

その昔覚えたての頃にYahooファイナンスから株価を定期的に取得して株価分析やろうとか考えたこともありましたね。

取得できるところまで作って飽きてやめましたが←

 

※ちなみにYahooファイナンススクレイピング禁止してるのでやっちゃダメ

Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止しています

 

 

PythonによるWebスクレイピング
Ryan Mitchell オライリージャパン 売り上げランキング: 30,315