デジモノ・ガジェット類のレビューやら体験したことをつらつら紹介する雑記

小物使いの見習い

Python スクレイピング

【Python】食べログの情報をスクレイピングするコード

投稿日:

ここ3ヶ月くらいPythonの勉強をしてまして、練習諸々兼ねて食べログの情報を自動で取得してExcelに吐くコードを書いてみました。

食べログスクレイピングのPythonコード

コードの補足

5行目の★部分にINPUTのURL(取得したい画面のURL)を入れます。
入れる画面のイメージは以下のような形式のもので、「エリア(や業態)の一覧画面」といった形のものです。
https://tabelog.com/tokyo/A1331/rstLst/washoku/

必要な機能群については事前にインストールしておいてくださいませ。

スクールの先生からは「何としても動かす、という意志を感じるコードですね」と言われたので、要はまあ最適化の余地に溢れたコードなのだと思います。(数年後に「ようこんなん公開したな」と恥ずかしくなってそうですね、楽しみです)

スクレイピングのイメージ

以下の項目を取得してくる仕組みになっています。
・店舗名
・店舗URL
・点数

画面で言えば以下のような部分です。

点数については、厳密には店舗ページに潜って取ってきてます。
なぜ一覧から取らないかというと、開店間もない店舗は点数が「-」だったりするのですが、その場合ソース上の要素として取得がしづらく、店舗ページに潜った方が取得が楽だったためです。
※また、おいおい店舗ページ内の「営業時間」とか「決済方法」みたいにいろんな情報を取得できるようにカスタマイズしたかったので、初期に各ページに潜ってしまうロジックを追加したかった、という意図もあります。

スクレイピングした情報の出力イメージ

以下のように、デフォルトのフォルダにExcelで吐き出されます。

ファイル吐き出しの際には9~10行目で実行時間を拾ってきていて、その時間をファイル名に使うため、連続実行しても別ファイルとして出力されます。

おわりに

エリア・業態の店舗や点数リストを作って分析ができそうなど、素人でも数ヶ月で実務レベルで使えそうなど、Pythonってすごいですね。
取得項目を増やすなど、改変してきたいと思います。

ちなみにオンラインプログラミングスクールの「Codecamp」で勉強してました。

CodecampのPythonコース

上記のような「Beautiful Soup 4」によるWebスクレイピングや「Selenium」によるブラウザの自動操作(メールの自動送信など)が学べました。要領の良い方なら1~2ヶ月くらいでもっとプログラミングスキルを身に付けられると思います。

最後まで読んでいただきありがとうございました。

-Python, スクレイピング

Copyright© 小物使いの見習い , 2024 All Rights Reserved.