本記事では、スクレイピングでWEBページの情報を取得するための方法、基本3パターンについて説明しております。
スクレイピングをするにあたって"どの手法を用いるのが最適なのか"を考えたことはありますか?
本記事を読めば無駄のない最適なスクレイピング手法が身に付きます!
#スクレイピング3パターン
スクレイピングのパターンは殆ど以下の3つだと考えて良いかと思います。
・ selenium
・ request & beautifulsoup
・ 各サイトのAPI
#使い分ける際に考える点
これら3パターンを使い分けるに当たって考える点は以下です。
・ 取得可能かどうか
・ 取得の速さ
・ ブロックのされにくさ
ほんとこれだけなので、シンプルですね。
上の3つの取得手法について、まとめてみるとこのようになります。
取得可能かどうか | 取得の速さ | ブロックのされにくさ | |
---|---|---|---|
selenium | ◎ | △ | ◯ |
request & beautifulsoup | ◯ | ◎ | ◯ |
API | △ | ◎ | ◎ |
ここから分かることは、
selenium → 何でも取得できて万能だけど遅い
request & beautifulsoup → かなり早く取得できるけど、取得できないサイトがある
API → サイトが提供していないとそもそも使えない。だけど、サイトが許容しているからブロックに対しての安全性は高い。速い。
このような特徴があることを知っておいてください!
#3パターン使い分け
では、3パターンを使い分ける上での考え方です。次のように考えていきましょう。
#####1. APIが使えないか?
#####2. APIで無理そうなら、request&beautifulsoupが使えないか?
#####3. これらが無理なら、仕方ない、seleniumでやろう。
こんな流れで考えてください。
seleniumはよく使うのですが、最終手段です。