◆当ページにはプロモーションが含まれています

Python

【Python】童謡の曲一覧を取得してみよう! – スクレイピングの方法と注意点

みなさん、こんにちは、どんぶラッコです。

本日は、スクレイピングについて学んでいきましょう!

そもそもスクレイピングとは何か?

scrapeの意味をロングマン英英辞書で引いてみると

to remove something from a surface using the edge of a knife, a stick etc

https://www.ldoceonline.com/jp/dictionary/scrape

となっています。

つまり、Webサイトから必要な情報を削ぎ取って取得する、みたいなニュアンスです。

では、早速その方法について見ていきましょう!

今回は、BeautifulSoupというライブラリを使って記述をしていきます。

童謡のタイトル一覧を取得しよう!

今回は、こちらのサイトを使わせていただきます。

https://www.uta-net.com/artist/4002/

こちらのサイトでは、童謡・唱歌の一覧を掲載しています。

ということで、サンプルコードです!

from bs4 import BeautifulSoup
import urllib.request as req

# URLを指定
url = 'https://www.uta-net.com/artist/4002/'

# URLのレスポンスを格納する
res = req.urlopen(url)

# 取得したレスポンスを元にBeautifulSoupインスタンスの生成
soup = BeautifulSoup(res, 'html.parser')

# 取得したい要素のセレクタを指定
_songs = soup.select('.side > a')

# Noneの要素を取り除き、曲名を配列化
songs = [_song.string for _song in _songs if _song.string != None]

すると、songsには

このように曲名が入力されていることが確認できますね!

むやみにスクレイピングしない!

ここからは注意点です。

便利なスクレイピングですが、無闇に使わないようにしましょう。

もし間違えてfor文やwhile文の中に記述をしてしまった場合、リクエストの回数分相手のサーバに迷惑をかけることになります。

また、サイトによってはサイトポリシーとしてスクレイピングを禁止しているサイトもあります。

各サイトのポリシーを読み、その基準に乗っ取る形でスクレイピングをしましょう。


とはいえ、サイトの情報を抽出できるというのは非常に便利です。習得したいテクニックの一つですね♪

エンジニアにおすすめ転職サイト

マイナビIT AGENT
迷ったらまずはココ。求人数が多いため希望や条件にマッチする求人が見つかる!

レバテックキャリア
担当者のレベルが高い。エンジニア特化で15年の実績がある実績で初回提案での内定率驚異の90%!

JOIN
副業やフリーランスとして高額報酬案件を見つけるならJOIN。未経験者でも案件獲得実績豊富が強み!

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
一緒によく読まれている記事