У меня довольно сложная проблема:
Я использую PHP Simple HTML DOM Parser для получения некоторых ценовых данных из разных интернет-магазинов.
Данные показаны на моем сайте. Проблема в том, что мне нужны данные примерно из 10 магазинов примерно с каждыми 50 продуктами. Всего около 500 ссылок.
Ссылки извлекаются из CSV.
Я хочу это так:
Откройте CSV -> получить ссылку -> проанализировать данные о цене по ссылке -> показать его на веб-сайте
Моя первая попытка была такая:
var file = 'shops.csv';
Papa.parse(file, {
delimiter: ";",
download: true,
header: false,
dynamicTyping: true,
complete: function(results) {
$.each(results.data, function(i, item){
$.ajax({
type: 'POST',
url: "parser.php",
data: {url:item[4]},
success: function(data,status){
if(data){
var output = '<a href="'+item[4]+'" target="_blank">' + data +'</a>';
$('table tbody tr[data="'+item[1]+item[3]+'"] td').append(output);
}
},
async:true
});
});
}
});
Теперь все ссылки анализируются синхронно, что приводит к сбою сервера. Когда ajax-вызов выполняется асинхронно, данные отображаются только после последнего вызова.
Идеальный способ должен быть шаг за шагом … получить ссылку -> получить цену -> показать цену -> далее.
Задача ещё не решена.
Других решений пока нет …