Как на phpQuery правильно спарсить сайт так чтобы все данные хранились в json документе следующим образом:
id_region:"1", "city": "Адыгейск" , "street": "Ленинградская улица" id_region:"1", "city": "Майкоп" , "street": "Ленинградская улица"и так все данные по id_region 1, потом вслед за ним идёт допустим id_region:"2", "city": "Агидель" , "street": "Активистов улица" и так далее. Сейчас я понимаю как спарсить все в кучу, но не понимаю как спарсить все по порядку, чтобы у меня в файле хранились данные в таком формате как я описал выше. Мне это все нужно для того чтобы также по порядку все добавить в базу данных mysql.
В данном коде формируется json так "city":абсолютно все города, "street":абсолютно все улицы подряд.
$url = 'https://kladr-rf.ru/';
$file = file_get_contents($url);
$id_region_files = file_get_contents($url);
$document = phpQuery::newDocument($id_region_files);
$id_region_find = $document->find('.badge badge-info')->text();
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_streets);
$file = file_get_contents('data.json');
$array_kldr = json_decode($file,TRUE);
unset($file);
$array_kldr = [1
'city'=>$result_city,
'streets'=>$result_streets,
];
file_put_contents('data.json',json_encode($array_kldr));
unset($array_kldr);