Тема: Як дістати HTML-розмітку всієї сторінки, якщо вона динамічна?
Привіт. Є сторінка https://www.pinterest.com/Monokumagirl/anime-girls/
а на ній купа картинок. Ви можете бачити лише якусь частину усіх картинок, це видно по скролбару.
Якщо ми скролимо вниз, то підвантажуються ще декілька картинок, і так до кінця.
Я б хтів завантажити усі ці картинки, і для цього спробував метод, що використовує API цього сайта, але він повертає лише перші 50 картинок, а мені потрібні всі. Тому я вирішив написати Userscript, котрий би показував мені посилання на усі картинки, що містяться на сторінці.
Ідея була така - пишу скрипт, от такий
$(document).ready(function() {
var $input = $('<input type="button" value="new button"/>');
$input.appendTo($("body"));
$input.click(function(){
var $images = $(".pinImg");
console.log($images.length);
var str = "";
$images.each(function(){
str+=($(this).attr("src"))+"\n";
});
var $div = $("<div>"+str+"</div>");
$div.appendTo($("body"));
});
});
Далі я прокручую сторінку до самого низу, аби завантажились усі картинки, після чого натискаю на кнопку, котра активує функцію, що знаходить усі посилання на сторінці і показує їх.
Але воно не працює! Кожного разу показується лише якась частина посилань, від 30 до 40, хоча їх там має бути біля тисячі.
Чому це відбувається? Як завантажити усі картинки? Зараз в мене є лише одна ідея - прокручувати потрошки сторінку і натискати на кнопку, котра б додавала посилання на картинки, що видніються, в коллекцію, звісно, з перевіркою на унікальність. Але це буде якось довго і нудно, до того ж в мене ніяк не виходить розмістити кнопку відносно вікна браузера.