質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

0回答

774閲覧

GooglePlayのサイトをページ最後までスクロールしてからスクレイピングをすることによりすべての要素を取得したい

nk1

総合スコア42

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/09/29 06:33

編集2021/10/02 13:42

前提と実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問