Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2015, 10:20
Новичок на форуме
Отправить личное сообщение для TimMoss Посмотреть профиль Найти все сообщения от TimMoss
 
Регистрация: 12.10.2015
Сообщений: 1

Парсер, как достать динамические данные с страницы.
Пишу для себя небольшое расширение для хрома.

Есть вот такая страница:
http://steamcommunity.com/market/lis...tle-Scarred%29
Нужно вывести среднюю цену на предмет. Скрипт работает и корректно выводит нужные данные.

Проблема в том, что на странице отображаются только первые 10 позиций с пагинацией, динамически подгружающей следующие 10 предметов, а выборку необходимо сделать из 100 предметов. Эмулирование нажатия на span с кнопкой пагинации методом click не работает. Может быть возможно как-нибудь подгрузить сразу несколько динамических блоков с ценами в столбик, а затем спарсить разом?

Код парсера:
(считывает цены предметов, суммирует, выводит среднее.)

(function($){

function parserGo(){
 var b = $.ajax('http://steamcommunity.com/market/listings/730/AWP%20%7C%20Asiimov%20%28Battle-Scarred%29');
 b.done(function (d){ 
 var res = [];
 var page;
 $('#resultbox').html();
 for(page=0; page<1; page++){
  res[page] = analysisSite(d);
  }


 page = 0;
 var val = 0;
 var sum = 0.00;
 var count = 0;
 while(page < res.length){
 while(val < res[page].length){
 $('#resultbox').append(res[page][val] + "<br/>");
 sum += parseFloat(res[page][val])*10;
 val++;
 }
 count += res[page].length;
 page++;
 }
 var result = (sum/10)/count;
 alert(sum/10);
 alert(count);
 alert(result.toFixed(2));
 });
}

function analysisSite(data){
 var res = [];
 var i = 0;
 var num = $(this).text().replace(/[\$\sA-Za-z]/g, "");
 $(data).find('span.market_listing_price.market_listing_price_with_fee').each(function(){
  num = $(this).text().replace(/[\$\sA-Za-z\!]/g, "");
  if(num != "" && num != null){
    res[i] = num;
    i++;
  } 
 })
 return res;
 $('#searchResults_btn_next').click();

}
$(function(){
 $('#progress').hide();
 $('#starter').click(parserGo);
});
})(jQuery);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить данные в Form Data вместо Request Payload? Shitbox2 Angular.js 2 26.05.2013 21:40
Получить данные с другой страницы в фору DDSSDD Events/DOM/Window 11 10.04.2013 16:27
как извлекать данные из веб страницы sistemnik Общие вопросы Javascript 1 04.09.2011 16:45
Как подгрузить данные с чужого домена, XSS-proof? Actine AJAX и COMET 6 03.09.2011 21:08
Как разделять страницы при выводе отчета ilshat Events/DOM/Window 7 10.12.2009 09:24