無限のスクロールでサイトからデータを削り取る方法を教えてください。無限のスクロールでウェブページを正しくクロールするにはどうすればよいですか?
Google Playストア(https://play.google.com/store/apps/category/GAME/collection/topselling_free?hl=en)のすべてのデータを取得しようとしています。
私はApify(https://www.apify.com/)を使用してGoogle Playストアをクロールしています。私は「トップフリーゲーム」のすべてのリンクを取得し、トップゲームのタイトルと詳細をすべて取得したいと考えています。
残念ながら、ユーザーがページの一番下までスクロールしたときに新しいデータが読み込まれ、新しいデータを取得する方法がわかりません。
これは私のページ機能である:
function pageFunction(context) {
var $ = context.jQuery;
if (context.request.label === "DETAIL") {
context.skipLinks();
if($('.details-info .info-container .info-box-top .document-title .id-app-title').length >= 1) {
return {
title: $('.details-info .info-container .info-box-top .document-title .id-app-title').text(),
publisher: $('.details-info .info-container .info-box-top .document-subtitles .primary').text(),
genre: $('.details-info .info-container .info-box-top .document-subtitles .category').text(),
rating: $('.details-wrapper .details-section .rating-box .score').text()
};
}
} else {
context.skipOutput();
$.post("https://play.google.com/store/apps/category/GAME/collection/topselling_free?hl=en&authuser=0");
}
}
どのように私は、追加のゲームをロードし、私はゲームのページにその詳細を得ることができるように彼らのリンクを得ることができますか?
サンプルコードは非常に高く評価されます。
「スクロール」はすべて新しいページ、新しいリンク、新しいリクエストだと思います。あなたはそのように行かなければなりません。最終的に、クローラにはすでにこのようなページをクロールする方法があります。 –