Показать сообщение отдельно
  #1 (permalink)  
Старый 27.10.2016, 16:17
Новичок на форуме
Отправить личное сообщение для quende Посмотреть профиль Найти все сообщения от quende
 
Регистрация: 27.10.2016
Сообщений: 2

Перебор через URL + извлечение данных по странице
Друзья мои, приветствую!

Совсем недавно начал работать с JS и возникло несколько вопросов.
В частности, нужно решить вот какую задачу:
Есть страницы с определенными URL: http://www.transfermarkt.co.uk/en/z/kader/verein/{i}, где {i} - переменная часть = значения от 1 до 56000.

я уже нашел нужные части на странице и даже достал их, но встал вопрос как их получить в осязаемый вид (csv, txt или xls).
Вот то, что мне удалось написать:

window.Arr = '';/*я сделал через строку, но можно попробовать и через массив*/ 
 
for(i=1;i<=10;i++){ /* здесь пока указал 10, но нужно указать 56000*/
  var http = new XMLHttpRequest();  
  http.open('GET', 'http://www.transfermarkt.co.uk/en/z/kader/verein/'+i);
  http.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
      var doc = new DOMParser().parseFromString(this.responseText, "text/html");   
      var Cou = doc.getElementsByClassName('flaggenrahmen')[0].title;
      var Team = doc.getElementsByClassName('dataName')[0].innerHTML;      
      var CouNum  = doc.getElementById('land_select_breadcrumb')[0].value;   
      Team = Team.replace('\n                            <h1 itemprop="name">\n                                <b>','');
      Team = Team.replace('</b>\n                            </h1>','');      
      Team = Team.replace("</h1>","");        
      window.Arr += "[" + CouNum + "]" + Cou + "|" + Team + "\r\n"; /*можно сделать и через массив*/
    }    
  }  
  http.send(null);  
}


заметил по логам, что не все данные сохраняются, по всей видимости, он не "успевает" забирать данные со всех страниц.
Получается этот способ не такой уж и действенный, быть может вы подскажите "правильный" и более приемлемый способ по решению такой задачи ?

Кроме того, получившийся результат нужно сохранить в csv или xls

Помогите, пожалуйста!
Спасибо!
Ответить с цитированием