Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Парсер организаций с Яндекс карт

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

IFKey



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разыскиваю любые решения в том числе и на PHP
 
Собственно вот что я на данный момент нашел:
Цитата:
PHP: http://glebov-gin.blogspot.ru/2012/11/yandex-parser-php.html
Программа: http://web-data-extractor.net/datacol-applications/yandex-maps-parser/ (Платная)

Всего записей: 331 | Зарегистр. 20-03-2007 | Отправлено: 16:49 31-10-2013 | Исправлено: IFKey, 16:49 31-10-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IFKey
в чем сложность?
делаете  
http://maps.yandex.ru/?text=Органы+власти&where=&sspn=0.5424499511718821,0.09202635353810962&source=catalog&output=json
 
где text = категория, а sspn - координаты
в ответ получаете json данные.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:25 31-10-2013
IFKey



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Благодарю уважаемый модератор!
 
Добавлено:
Может кому пригодится, функция для разбора  json данных:
http://www.php.net/manual/ru/function.json-decode.php

Всего записей: 331 | Зарегистр. 20-03-2007 | Отправлено: 10:54 01-11-2013
bad1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery по примеру ссылки мне выдаёт Unauthorized (хотя я на Яндексе авторизован).
Или речь идёт о другой авторизации?  
Спасибо!

Всего записей: 28 | Зарегистр. 26-08-2003 | Отправлено: 18:25 15-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bad1

Цитата:
по примеру ссылки мне выдаёт Unauthorized (хотя я на Яндексе авторизован

так никто же не говорил, что они ничего менять не будут.
неизменное, на какое то время, это API, если есть.
а когда так, "неофициально", то будут стараться наоборот делать, чтобы не повторяли подобного.
 
надо смотреть запрос.. добавили ключ какой то
maps.yandex.ru/?text=Органы+власти&where=&sll=30.31349700000001,59.93853099999101&sspn=1.0848999023437322,0.16951489115989204&source=catalog&key=u218352bdc9f6c1b68109188713bb151d&output=json
 
он может быть привязан к IP, к примеру.
 
ps: ну да, сначала нужно запросить страницу, вытащить из нее ключ

Цитата:
'secret-key':'32 символа',

и использовать его в запросах
так же нужно использовать, возможно, и куки со страницы.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:20 15-12-2013 | Исправлено: Cheery, 02:36 16-12-2013
IFKey



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Cheery по примеру ссылки мне выдаёт Unauthorized (хотя я на Яндексе авторизован).

Еще месяца два назад все работало. Жаль, теперь придется еще что-то придумывать.
Заметил что данные содержатся в теле самой страницы, ее можно тоже теперь разбирать. Хотя способ Cheery описанный выше гораздо удобнее

Всего записей: 331 | Зарегистр. 20-03-2007 | Отправлено: 11:52 26-12-2013 | Исправлено: IFKey, 12:00 26-12-2013
AxMuha

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал просто послать два запроса.
Первым запросил адрес http://maps.yandex.ru и отпарсил из результата секретный ключ, вторым сделал запрос уже с секретным ключом, типа этого:
maps.yandex.ru/?text=Органы+власти&where=&sll=30.31349700000001,59.93853099999101&sspn=1.0848999023437322,0.16951489115989204&source=catalog&key=u218352bdc9f6c1b68109188713bb151d&output=json
 
Результат все равно: HTTP/1.0 401 Unauthorized
 
Если же в броузере это делаю, то трюк проходит.  Похоже, еще куку смотрит или как-то по заголовкам понимает, что робот?
 

Цитата:
надо смотреть запрос.. добавили ключ какой то  


Всего записей: 4 | Зарегистр. 29-09-2013 | Отправлено: 19:10 26-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AxMuha

Цитата:
  Похоже, еще куку смотрит или как-то по заголовкам понимает, что робот?

заголовки видны те, что вы отправляете скриптом.  
куки - да, остальное - без проблем имитируется как запрос браузера.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:20 26-12-2013
AxMuha

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, точно куку смотрит.
Нсли в броузере отключить сохранение кук, то не работает поиск учреждений на Яндекс-картах

Всего записей: 4 | Зарегистр. 29-09-2013 | Отправлено: 17:15 27-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AxMuha

Цитата:
Да, точно куку смотрит.  

ну так сохраняйте ее при запросе страницы с ключом и используйте далее в запросах.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:09 27-12-2013
AxMuha

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже не все так просто.  В http - заголовке передается только одна кука, но, похоже джаваскриптом ставятся еще. По крайней мере, возвращая назад ту куку, которую получаю по через http, все равной получаю "неавторизованный запрос".

Всего записей: 4 | Зарегистр. 29-09-2013 | Отправлено: 18:02 30-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AxMuha

Цитата:
все равной получаю "неавторизованный запрос".

ну неправда..

Код:
$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;  
}


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:35 31-12-2013
AxMuha

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery,  спасибо!  Действительно работает! Уря!
 

Цитата:
Cheery показал

Всего записей: 4 | Зарегистр. 29-09-2013 | Отправлено: 15:39 03-01-2014
niktata



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли подобным способом спарсить результаты всего региона? А не только 20 результатов, отображающихся на странице.

Всего записей: 56 | Зарегистр. 30-07-2004 | Отправлено: 21:45 28-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niktata
да без проблем.. делать запросы в цикле, добавляя в них results=20, results=40 и так далее..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:23 28-02-2014
niktata



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

&results=5000 прокатывает

Всего записей: 56 | Зарегистр. 30-07-2004 | Отправлено: 16:42 02-03-2014
Nillis86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую товарищи!) наткнул на вашу тему из выдачи гугла  
 
Тема оочень интересная и ОООчень мне сейчас нужная. но я не разу не программист. подскажи если не сложно куда этот код вставлять чтобы он функционировал (парсил организации с яндекс карты)????
заранее спасибо за понимание и ответ!)
Дружищи я в вашу честь на столе джигу-дрыгу отпляшу!)
 
парни сильно не пинайте ламу. все мы ведь разные. вы в компах спецы я в других делах) будите у меня на работе (завод мет. конструкций) я вам бесплатно Этажный щит подарю) или профиль согну любой. или мангал сварю)
 
помогите товарищи очень нужно)))

Всего записей: 3 | Зарегистр. 25-04-2014 | Отправлено: 20:42 25-04-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nillis86

Цитата:
подскажи если не сложно куда этот код вставлять чтобы он функционировал

это php скрипт, поэтому нужен либо сам php интерпретатор, либо http сервер с ним.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:40 25-04-2014
Runtime_err0r



KpTeaM
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nillis86
Попробуй спросить здесь - на VBS будет работать без всякого php.
 


----------
Игнор-лист

Всего записей: 2529 | Зарегистр. 03-09-2001 | Отправлено: 10:20 26-04-2014
Nillis86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо парни!) теперь буду грузить гугл другими вопросами) честно чуть голова не треснула от прочтения двух последних постов))))))   Но хорошо что теперь хоть знаю в какую сторону дальше спрашивать!))) будите у меня на работе (Саратов Электро Щит) научу вас на крутом гибочном станке работать!)
 
Добавлено:
Подробнее...

Всего записей: 3 | Зарегистр. 25-04-2014 | Отправлено: 16:48 26-04-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Парсер организаций с Яндекс карт


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru