【Python】シティヘブンのレビュー情報をデータベース化~序章~

こんにちは、データ分析をしているしょげといいます。
本記事からシティヘブンのレビュー情報を取得してデータベースを作成するPythonプログラムを紹介していきます。この記事では、概要として完成イメージ図とプログラムの全体設計?をご紹介し、次の記事からソースコードを交えて説明していきます。
なお、ここで作成したデータベースを用いてシティヘブンのレビュー情報を分析した内容は別記事で紹介しています。興味のある方はご覧ください。

完成図

今回作成するものはデータベースですが、Bigquery等による大規模管理を行うものではなく、csvファイルで出力してローカルで使用することを目的とします。以下に完成図の一部を載せます。このように女の子毎のレビュー情報を記述していきます。
 ※今回、東京の風俗店のみの口コミ情報を取得します。

画像1

シティヘブンのHP構成

まず、データベースを作成する上で、情報の取得元であるシティヘブンのHP構成をチェックします。このHP構成次第でプログラミングの内容が大きく変わりますのでとても重要です。
まずシティヘブンのHP情報を確認したところ、シティヘブンのTOPページ下に都道府県別の地域ページがあり、その下に女の子一覧、店舗一覧、レビュー一覧があるようです。試しに東京のレビュー一覧のURLを取得してみると以下のようになります。

例:https://www.cityheaven.net/tokyo/reviewlist/​

ただこのページに東京のレビューすべてが記載されているわけではなく、新しい30件のレビュー情報のみ掲載されているようでした。さらに古いレビュー情報が知りたい場合は以下のURLのように別ページを読み込ませていくことで取得することができそうです。

例:https://www.cityheaven.net/tokyo/reviewlist/2/
例:https://www.cityheaven.net/tokyo/reviewlist/3/

これでシティヘブンから取得するべき情報の場所と規則性は把握できました。

①https://www.cityheaven.net/都道府県名/レビュー一覧/
②レビュー一覧の後に/2/や/3/を付けることでさらに古いレビュー情報を取得できる。

全体設計

今回、シティヘブンのレビュー情報を取得する上で以下順序で取得します。
今回のデータ収集は数十万行にのぼるため、数日単位の時間がかかります。そのため、ミス時の戻りが少なくなるよう小分けに丁寧に処理を進めていますのでご了承ください。

①都道府県別のレビューTOPページURLを取得
例:https://www.cityheaven.net/tokyo/reviewlist/
  https://www.cityheaven.net/saitama/reviewlist/
    ‥

②すべてのレビューページURLを取得
例:https://www.cityheaven.net/tokyo/reviewlist/1/
  https://www.cityheaven.net/tokyo/reviewlist/2/
  https://www.cityheaven.net/saitama/reviewlist/1/
  https://www.cityheaven.net/saitama/reviewlist/2/
    ‥

③すべてのレビュー詳細ページのURLを取得
例:https://www.cityheaven.net/tokyo/A1315/A131503/episode/reviews/rv-1039360/
これで取得すべきページのURL情報はすべて集まった。

④すべてのレビュー詳細ページをHTMLで保存
必要情報を全てローカルに保存する。データベースを使用して分析を進めていくとさらに欲しい情報が出てくることが多々ある。その時、ローカルにHTMLデータがあればネットワークを介さないので高速処理が可能のため、TOTALでみるとHTMLデータを取得しておくことが時間短縮につながる。

⑤取得したHTMLデータからレビュー情報を抽出しCSV保存
HTMLデータから必要情報(名前、スリーサイズ、レビュースコア)を抽出して、データフレーム(二次元配列)に格納することでデータベースを作成する。すべて抽出し終えたらCSVファイルで出力する。

序章まとめ

今回、シティヘブンレビュー情報のデータベース作成プログラムについて、概要をお話しました。次の記事からソースコードを踏まえて解説していきますのでよろしくお願いいたします。

この記事が気に入ったらサポートをしてみませんか?