Друзья мои, приветствую!
Совсем недавно начал работать с 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
Помогите, пожалуйста!
Спасибо!