pythonでのWebスクレイピング
Webスクレイピング用ライブラリ
- BeautifulSoupというライブラリでHTMLを解析できる。
Webスクレイピングの流れ
- ChromeでスクレイピングするWebサイトを開く。
- Chromeのデベロッパーツール(F12キー押下)を開く。
- HTMLの構造を確認し、どんな条件で必要な要素を取り出せるか確認する。
- BeautifulSoupで必要な情報を取得する。
参考にしたサイト
こちらのサイトを参考にさせていただいた。
BeautifulSoupやChromeのデベロッパーツールの使い方が非常にわかりやすく書かれている。
tonari-it.com
実装例
食べログで、名古屋のラーメン屋の基本情報(店名、ランキング、総合評価点、最寄り駅、URL)と個別評価(ユーザ名、評価点)をスクレイピングし、csvに出力するコードを実装しました。
出力イメージはこんな感じです。
基本情報(店名、ランキング、総合評価点、最寄り駅、URL)
restaurant_name,tabelog_rank,tabelog_rating,nearest_station,url
らぁ麺 紫陽花,1,3.92,六番町駅,https://tabelog.com/aichi/A2301/A230112/23055953/
からみそラーメン ふくろう 本店,2,3.75,上飯田駅,https://tabelog.com/aichi/A2301/A230110/23050032/
らーめん奏,3,3.69,吹上駅,https://tabelog.com/aichi/A2301/A230106/23056955/
...
個別評価(ユーザ名、評価点)
restaurant_name,user_name,rating
らぁ麺 紫陽花,ドラ1228,4.0
らぁ麺 紫陽花,のんきなカメ,4.8
らぁ麺 紫陽花,nesageman,3.8
...