【Day40】Pythonで楽天市場の商品レビューを自動収集&AIで要約!

未分類

PythonとAIで商品レビューを一括収集・要約しよう

消費者の声を活用したマーケティングは、現代のビジネスにおいて非常に重要な要素です。今回はPythonを使って楽天市場のレビューを収集し、それをChatGPTで要約して分析するツールを作ってみましょう。

✅ このチュートリアルで学べること

  • 楽天市場の商品レビューをスクレイピング
  • OpenAIのChatGPTでレビューを自動要約
  • ワードクラウドで視覚化

ステップ1:必要なライブラリをインストール

pip install requests beautifulsoup4 openai wordcloud matplotlib

ステップ2:レビューの収集

import requests
from bs4 import BeautifulSoup

def get_reviews(rakuten_url, max_reviews=10):
    headers = {'User-Agent': 'Mozilla/5.0'}
    res = requests.get(rakuten_url, headers=headers)
    soup = BeautifulSoup(res.content, 'html.parser')
    review_tags = soup.select('.revRvwUserCmt span')
    reviews = [tag.text.strip() for tag in review_tags if tag.text.strip()]
    return reviews[:max_reviews]

# 例
url = "https://review.rakuten.co.jp/item/1/00000000/00000000/"
reviews = get_reviews(url)
for r in reviews:
    print(r)

※注意:楽天市場の利用規約に反しない範囲での利用を徹底してください。


ステップ3:ChatGPTで要約

import openai

openai.api_key = "YOUR_API_KEY"

def summarize_reviews(reviews):
    prompt = "以下のレビューを1〜2文で要約してください:\\n" + "\\n".join(reviews)
    res = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.5
    )
    return res.choices[0].message["content"]

summary = summarize_reviews(reviews)
print(summary)

※APIキーの漏洩に注意してください。


ステップ4:WordCloudで視覚化

from wordcloud import WordCloud
import matplotlib.pyplot as plt

text = " ".join(reviews)
wc = WordCloud(width=800, height=400, background_color="white", font_path="/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc").generate(text)

plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()

まとめ

このツールを使えば、楽天市場に寄せられた大量のレビューを自動で収集・要約し、顧客の生の声をマーケティング戦略に活かすことができます。実店舗でもネットショップでも、レビューは宝の山。PythonとAIでその価値を掘り起こしましょう。

次回は他のECサイトやSNSのレビューとも連携する方法をご紹介します!

コメント

タイトルとURLをコピーしました