← ポートフォリオに戻る

データ収集・リスト作成(Python)

Webサイトの商品情報1,000件を集めて、
そのまま使えるExcelにまとめる

50カテゴリ・約50ページに分かれた書籍の一覧ページを自動で巡回し、タイトル・カテゴリ・価格・評価・在庫・URLを1,000件分集めて、集計とグラフつきのExcelにしたサンプルです。手作業なら数日かかる作業が、約2分で終わります。

Pythonrequests / BeautifulSoupExcel(openpyxl)約2分で1,000件

実行結果

1,000件サイトに掲載されている全商品を取得
エラー 0件50カテゴリのすべてのページを取得できました
119秒1ページごとに1秒あけて、相手に負担をかけずに収集

Excel「書籍一覧」シート(先頭3件)

タイトルカテゴリ価格(ポンド)評価(星)在庫URL
It's Only the HimalayasTravel45.172ありリンク
Full Moon over Noah’s Ark: An Odyssey to Mount Ararat…Travel49.434ありリンク
See America: A Celebration of Our National Parks…Travel48.873ありリンク

Excel「カテゴリ別集計」シート(上位6カテゴリ)

カテゴリ件数平均価格(ポンド)平均評価(星)星5の件数
Default15234.392.8429
Nonfiction11034.262.8820
Sequential Art7534.572.9712
Add a comment6735.802.768
Fiction6536.073.1817
Young Adult5435.453.3015

Excelには、件数の多いカテゴリのグラフと、収集の記録(件数・取得できなかったページ)のシートも入っています。

工夫した点

収集のルールについて

このサンプルは、データ収集の練習用に公開されているサイト(Books to Scrape)を使っています。実際のご依頼では、対象サイトの利用規約と robots.txt を確認し、収集が許可されている範囲でだけ作業します。ログインが必要なページや、規約で禁止されているサイトの収集はお受けしていません。

ファイル

Googleスプレッドシートへの書き出しや、毎日決まった時間に自動で収集して差分だけ通知する、といった形にも対応できます。