Пишу парсер для сайта https://kladr-rf.ru/ 1) нужно получить все города со всех регионов и улицы со всех городов, данные о городах и улицах спарсил 2) далее нужно записать данные в базу(из json файла) в поле адрес в порядке "Город|Улица|дом" а также в поле region_id записывать id каждого региона в котором есть эти города. Не могу разобраться как в поле адрес добавлять данные поочередно, например сначала добавить в базу все улицы города агидейск вместе с самим городом и идти так дальше по остальным городам. Есть ли какие то мысли как это все можно организовать? Ниже код который парсит города и улицы.
$url = 'https://kladr-rf.ru/';
$file = file_get_contents($url);
for($i = 1; $i < 5; $i++) {
$url_region = 'https://kladr-rf.ru/0'.$i.'/000/';
$region_files = file_get_contents($url_region);
$document = phpQuery::newDocument($region_files);
$needle = "Город";
$region_find = $document->find('.span4 a:contains("'.$needle.'")')->text();
$region_next = $document->find('.span4 a:contains("'.$needle.'")')->next()->attr('href');
$array_cities[] = $region_find;
for($j = 1; $j < 5; $j++) {
$url = 'https://kladr-rf.ru/0'.$i.'/000/00'.$j.'/000/';
$files = file_get_contents($url);
$document = phpQuery::newDocument($files);
$street_find = $document->find('.span4')->text();
$array_streets[] = $street_find;
}
}
$result_city = array_unique($array_cities);
$result_streets = array_unique($array_streets);
//print_r($result_city);
print_r($result_streets);
$file = file_get_contents('data.json');
$array_kldr = json_decode($file,TRUE);
unset($file);
$array_kldr = [
'city'=>$result_city,
'streets'=>$result_streets,
];
file_put_contents('data.json',json_encode($array_kldr));
unset($array_kldr);
Примерно в таком формате я хотел бы добавлять данные в файл.
[
[
'city_name'=>'Название города',
'streets'=>[
[
'streets_name'=>'Название улицы',
'params'=>[
]
]
]
]
]
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
возникла такая проблемаДвижок: ocStore 2
Нужно заменить в тексте кавычки на "елочки"; кавычками считаем как символ ', так и "Есть такая функция: