スクレイピングの流れ
対象となるURLからHTML情報を取得する
HTMLのタグを解析してくれるBeatutifulSoupインスタンスを作成する
HTMLから取り出したい情報のタグ関連を把握する
取得したいタグを指定して情報Get
BeautifulSoupをインストール
1 | pip install beautifulsoup4 |
エクセルに出力するなどやるには別のライブラリが必要となってきますが、スクレイピングするだけであれば、
これだけでできます。他には標準で用意されているものを使います。
HTML情報を取ってくる
今回はPython3系での書き方となります。python2系だとimportするのがurllib2となります。
Python3系ではurllib2の機能がurllib.requestとurllib.parseに分かれて使うように変更されています。
1 2 3 4 5 | import urllib.request import bs4 from BeautifulSoup url = "取得したい情報があるページのURL" html = urllib.request.urlopen(url) soup = BeautifulSoup(html, "html.parser") |
これで、対象となるページの情報を取得することができます。
soupはBeatulSoupのインスタンスです。
このsoupにはタグ情報が解析されたものが入っているので、
タグ情報を指定することによって望む情報を取得することができます。
HTMLのタグとは?
ページを右クリックすると、「ページのソースを表示する」という項目があるかと思います。
クリックすると、文字だらけのページが表示されるかと思います。
HTMLというのはさまざまなタグで構成されています。
タグというのは
やなどのことです。
取得したい情報がどこのタグにあるかを確認して、そのタグを指定することによって情報を取得できるようになります。
情報取得の仕方
タグの指定の仕方として使うメソッドとして大きく分けると2つあります。
findとselectです。
findとselectの違いとしては、selectではcssセレクタを使用することができます。
CSSセレクタとは?
classの指定で2つ必要な場合にはCSSセレクタを使用したほうがいいですが、
そういう場合でなければ、findで十分こと足ります。
コメント