Всем добрый день!
Стояла задача вытащить со стороннего сайта поставщика описание товаров. Товаров было много (более 1000), написал парсер, чтобы собрать описания позиций. Собирал информацию JS-скрипт, когда собрал, данные преобразовал в JSON (использовал JSON.Stringify), отправил в PHP скрипт и записал их в файл, т.к. JS писать в файл не может. С этим файлом теперь работаю, чтобы разобрать описания, обработать их и т.д. Файл имеет примерно такую структуру:
[
["\n \n <div><p><br></p><div>Всякое описание текста.</div><div><br>Производитель: Такой-то</div><div> <br>Доп параметры.</div><div><br>Дата производства: 2012г. <br><br>Еще что-то .</div><div> </div></div>\n\n \n ","\n \n <div class=\"ty-product-feature\">\n <span class=\"ty-product-feature__label\">Страна:</span>\n\n \n <div class=\"ty-product-feature__value\">Китай</div>\n </div>\n \n \n \n "],
["\n \n <div><p><br></p><p>О товаре<br></p><div>Описание</div><div>Еще всякое.</div><div>Еще чуть-чуть текста <br>Еще</div><div>Описание вновь <br>Еще параметр</div></div>\n\n \n ","\n \n <div class=\"ty-product-feature\">\n <span class=\"ty-product-feature__label\">Страна:</span>\n\n \n <div class=\"ty-product-feature__value\">Китай</div>\n </div>\n \n \n \n "]
]
Вот такое описание товаров вытащил с сайта поставщика (пример по 2-м товарам, всего их более 1000). Изначально был двумерный массив, по каждому товару 2 описания. И оно лежит в файле.
Начинаю разбирать, через Ajax подгружаю файл, хочу вытащить голый текст из тэгов, средствами jQuery, по идее, это сделать проще простого, но вот тут идет загвоздка. Скрипт:
jQuery.ajax({
type: "GET",
url: "price-list-parsed-BT_21-Apr-17--17-41-36.txt",
dataType: "json",
error: function() {
console.log("Не вышло");
},
success: function(temp) {
newArr = temp;
for (var i=0; i<newArr.length; i++) {
workArr[i] = [];
for (var j=0; j<newArr[i].length; j++) {
workArr[i][j] = jQuery(newArr[i][j]); //***
}
}
}
});
Т.к. я получаю данные из файла в формате JSON, то их нужно преобразовать в массив, сделав все элементы элементами jQuery, чтобы применять, например, метод html() для добычи текста из тегов. Метод Parse здесь невозможен, т.к. здесь много лишних символов, обо что парсер споткнется. Перебираю файл в цикле, делаю каждый элемент объектом jQuery, записываю в массив (строчка, помеченная ***), и вот на этом этапе браузер виснет. Не хотят элементы json становиться элементами jQuery. Не могу понять, почему. Без преобразования недоступны методы find, html, text и пр. Что я упускаю, в какую сторону копать никак не пойму, прошу помочь, кто может.
Заранее всем спасибо.