Помогите пожалуйста, как спарсить поиск вк, ведь он в исходнике отдает только первые 10 пунктов, а дальше подгружает jsом,. скажите хотябы в какую сторону рыть
но он же не сразу все скачивает. он сначала получает первые 10,а потом когда ты крутишь мышью он отправляет запрос к нужному скрипту и получает ответ в json а дальше жабаскрипт все это красиво отображает. так что тебе остается отловить http-analizer'ом куда идет запрос и самому послать запрос к этому скрипту чтоб получить результат в json. тем более что json намного удобней парсить чем просто отображенные на html-странице данные...
Простым запросом и регулярками парсится парсится только первые 10 результатов остарые приходят в jsonе его тоже можно регулярками парсить
будет выдано (при первом запросе) число найденных объектов. (людей, групп и тд) Парсь сначала его. Потом это значение преобразуй в int (не знаю как в си шарп, скорее всего - не сложно) и дели его 10. И потом едь циклом,(фором или while сам смотри, пока не будет достигнуто (сколько нашли / 10) ) в каждом запросе линк меняй на + 10(char*) и отсылай запрос. Потом, после цикла весь считанный буффер парсь регуляркой. Я так делал. ЗЫ учти что там хтмл меняется,(чтобы спарсить сколько именно найдено) если например найденно 10К больше 100К. или мильен. Так что это все надо будет учитывать.
Мда ребята!!! берем запрос в том виде, в котором нам дает его контакт http://vkontakte.ru/search?c%5Bsection%5D=apps&c%5Bsort%5D=1 делаем URLDecode отрезаем http://vkontakte.ru/search? и все остальное разбиваем на пары Имя=значение, где разделитель: символ "&" добавляем параметр offset=0 посылаем POST'ом на http://vkontakte.ru/al_search.php следующие offset берем из ответа, пока в ответе не будет получено HTML: "has_more":false и ничего не нужно учитывать, не нужно парсить HTML, потом JSON, сходу все в JSON'e идет, и уж тем более не нужно узнавать количество найденных результатов т.к. все равно больше 1к не отдает поиск
что мда? по мне, удобней заранее знать сколько найдено, чем каждый раз парсит offset. единственное забыл написать про лимит 1000. хотя..можно будет твой вариант попробовать..
Дело в том, что мое решение универсально - не важно что через поиск ищем: людей, видео, музыку и т.д. везде кол-во результатов, выдаваемых поисковиком за 1 запрос разное, и в моем варианте не нужно ручками исправлять прибавку к offset А как показывает практика - чем более универсально решение, тем лучше Хотя тут уж как кому нравится.
Кэп? Больше 1к результатов поиск не выдает. только первыю тысячу с 1 запроса. хоть 1ккк акков поменяй. P.S. к программированию на языках: С/С++, C#, Delphi, .NET, Asm это уже не имеет ни малейшего отношения. Закрываем обсуждения.