Спарсить список организаций с Яндекс карт PHP


  Простой парсер на PHP поможет вытащить организации с Яндекс карт. Код приведен ниже.
  $form = send_request('http://maps.yandex.ru');
preg_match_all("/'secret-key':'(.+)'/Ui", $form, $matches);
$key = $matches[1][0];
$result = send_request('http://maps.yandex.ru/?text=Органы+власти&where=&sll=30.31349700000001,59.93853099999101&sspn=1.0848999023437322,0.16951489115989204&source=catalog&key=' . $key . '&output=json');
var_dump($result);
 
function send_request($url)
{
    $headers = array(
    "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
    "Accept: */*",
    "Accept-Language: en-US,en;q=0.8,ru;q=0.6",
    "Accept-Encoding: gzip, deflate,sdch",
    "Connection: keep-alive",
    );  
 
    $ch = curl_init($url);
    curl_setopt_array($ch, array(
        CURLOPT_HEADER => 1,
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_VERBOSE => true,
        CURLOPT_ENCODING => "gzip",
        CURLOPT_COOKIESESSION => true,
        CURLOPT_COOKIEJAR => 'cookie.txt',
        CURLOPT_COOKIEFILE => 'cookie.txt'
    ));    
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

Если надо спарсить результаты всего региона, а не только выдачу  в 20 результатов, то надо делать запросы в цикле и добавлять в них results=20, results=40 и так дальше...

Комментариев нет:

Отправить комментарий