前提・実現したいこと
Seleniumを用いて以下のサイトの口コミ内容を、およそ3~4スクロール分程度の量抽出したいです。
https://play.google.com/store/apps/details?id=jp.cocone.pocketcolony&hl=ja&showAllReviews=true
発生している問題・エラーメッセージ
リストへ格納する前段階でjsを呼び出しスクロールを指定しているのですが、
抽出の結果は40行程度(恐らく0スクロールのみの分量)となってしまいます。
EVALUATIONS COMMENT_LIST 0 4 友達と話したりとかしてすごく楽しいし、お洋服もデザインがかわいくて飽きないです(*´▽`*)... 1 18 とても楽しく遊んでいます!!ですが、コロトショップで動画を見てアイテムゲットのところを押すと... 2 29 何時も、楽しく遊ばさせて頂いています。昔から比べると、明きからに良くなりました。クエスト頑張... 3 68 皆さんと仲良くできるのは凄く嬉しいですが、課金者と無課金者の対応(?)が違いすぎると思います... 4 33 最近は無課金の人にも優しい仕様になってきていて私はとても嬉しいです!ですが、なぐさめの星での... 5 28 いつも楽しませて貰っています! ただ、ドナがたまりにくいなぁーとは少し思います。私は無課金者... ... 38 とても素晴らしいですが、やはり課金勢には大幅なさを感じるアプリです。 このアプリなら課金をし... 39 29 課金者を重視したい気持ちも分かりますが、今回のアートフェスタは酷すぎます。アイテムの在庫数が...
該当のソースコード
Python3
1from selenium import webdriver 2import chromedriver_binary 3import time 4import pandas as pd 5import re 6 7EVALUATIONS_LIST = [] 8COMMENT_LIST = [] 9 10browser = webdriver.Chrome() 11browser.get('https://play.google.com/store/apps/details?id=jp.cocone.pocketcolony&hl=ja&showAllReviews=true') 12 13evaluations_num = browser.find_elements_by_class_name('jUL89d') 14comments = browser.find_elements_by_class_name('UD7Dzf') 15 16for num in range(1,5): 17 browser.execute_script("window.scrollTo(0, document.body.scrollHeight);") 18 time.sleep(5) 19 20for evaluations in evaluations_num: 21 EVALUATIONS_LIST.append(evaluations.text) 22for comment in comments: 23 COMMENT_LIST.append(comment.text) 24 25browser.close() 26 27df = pd.DataFrame() 28 29df['EVALUATIONS'] = EVALUATIONS_LIST 30df['COMMENT_LIST'] = COMMENT_LIST 31 32print(df) 33df.to_csv('scraping_googleplay2.csv',index=False)
試したこと
for文の中にリスト格納の挙動を入れてみましたが、意図した結果にはなりませんでした。
Python3
1for num in range(1,5): 2 for evaluations in evaluations_num: 3 EVALUATIONS_LIST.append(evaluations.text) 4 for comment in comments: 5 COMMENT_LIST.append(comment.text) 6 browser.execute_script("window.scrollTo(0, document.body.scrollHeight);") 7 time.sleep(5)
補足情報(FW/ツールのバージョンなど)
開発環境/使用ライブラリ
・macOS Mojave 10.14.6
・python3.7
・anaconda3 jupyter notebook
・Googlechrome Version: 83.0.4103.97
・Selenium (chromedriver-binary==83.0.4103.39.0)
・pandas
不勉強にて恐縮ですが、ご教授くだされば幸いです。
回答1件
あなたの回答
tips
プレビュー