前提と実現したいこと
GooglePlayのゲーム売上げランキングをスクレイピングで取得して表示するアプリを考えております。(flutterとdartにより)
グーグルプレイのゲーム売上げランキング
エラーがでているわけではないのですが、なぜかランキングでは200個のアプリがのっているのに、スクレイピングをしても上位50件までしかとれません。
これは以前質問させていただいたのですが、どうやらブラウザをスクロールしないと、新たな要素が読み込まれないからのようです。
https://teratail.com/questions/361282
そこでプログラム側でブラウザをスクロールさせて最下部まで移動させた後にスクレイピングを行おうと考えました。
以下のページに書いてあるようなことがまさに私のやりたいことなのですが、ググってもどうもpythonのコードしかでてきません。
https://teratail.com/questions/122242
https://a-zumi.net/python-selenium-scroll-to-bottom/
dartで実行するにしても同じwebdriverが必要だろうと思いpackageを導入しましたが、使い方がのっておらず、どのようにコードをかけばよいのかわかりません。
https://pub.dev/packages/webdriver
実現したいことは以下のpythonのコードのようにブラウザを最下部までスクロールさせてから、スクレイピングですべての要素を取得するコードをdartで書くことです。(ブラウザはFireFoxでなくChromeを使おうと考えています)
python
1# coding: utf-8 2 3from selenium import webdriver 4 5# FireFox起動 6driver = webdriver.Firefox() 7 8# yahoo表示 9driver.get('http://www.yahoo.co.jp/') 10 11# javascriptを実行してページの最下部へ移動 12driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 13 14# FireFox終了 15driver.close()
使ってるもの
M1 Mac
Flutter dart
Android Studio
あなたの回答
tips
プレビュー