PythonでWebスクレイピングをやってみた

Python

ひょんなことから、個人的に作りたいプログラムでWebサイトからデータを取りたいことがあって、Webスクレイピングに挑戦してみた。

PythonにはBeautiful Soupというライブラリが用意されていて超簡単だった。ただ、複雑なことをやるにはまだまだ修行が必要そうでもある。

例えばこのブログサイトで、トップページからのリンクを取得したければ次のように書けばよいっぽい。

from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://blackmouse8.sakura.ne.jp/takidas/wp")
bsObj = BeautifulSoup(html.read())

for link in bsObj.findAll("a"): // a タグの要素をすべて取得
    if 'href' in link.attrs:
        print(link.attrs['href'])

結果はこんな感じ

正規表現を使ったりBeautiful Soupをもっと駆使すれば大きなサイトからとりたい情報のみをうまいこと取り出せそう。まさにBeautiful Soup。

ただ、やり方によってはWebサーバーに負荷をかけてしまいかねないのでその辺はもう少し勉強が必要そう。

コメント

タイトルとURLをコピーしました