Парсинг друзей ВК (Delphi) Написал парсер друзей но он парсит только первую страницу. Code: b.Text:=IdHTTP1.Get('http://vkontakte.ru/friends.php') ; y:=b.Text; repeat o:=pos('</dt><dd><a href=',y)+19; p:=(copy(y,o,50)); c:=pos('>',p)-1; Delete(p,c,50); m:=pos('id',p); Delete(p,m,2); Memo1.Lines.Add(p) ; y:=copy(y,o,length(y)-o); until (pos('</dt><dd><a href=',y)=0); Как перейти на следующую страницу? В адресной строке браузера при переключении страниц не чего не меняется.В снифере тоже. +Доп вопрос: Выполняю парсинг id друзей, после окнчания жму другую кнопку и она должна отправлять сообщения по готовым id друзей, но выдает ошыбку!.Если все это сделать на одну кнопку то программа будет работать нормально.В чем проблемма?
В адресной строке не меняется потому что аякс. Если снифер ничего не показывает - используй другой. удобнее парсить друзей с http://vkontakte.ru/friends_ajax.php
На этой странице 'http://vkontakte.ru/friends_ajax.php' должны отображатся все id Друзей или тоже надо переключатся по страницам.? +Доп вопрос: Выполняю парсинг id друзей, после окончания жму другую кнопку и она должна отправлять сообщения по готовым id друзей, но выдает ошибку!.Если все это сделать на одну кнопку то программа будет работать нормально.В чем проблема?
Ну возьми да проверь, зачем глупые вопросы задавать? Показываются все друзья там. Экстрасенсов нет, код в студию
Вот кода он парсит со страницы 'http://vkontakte.ru/friends_ajax.php' id друзей. var Code: a,b: TStringList; s,y,p,hash: string; o,c,m,n,g,h,ui,io: integer; Decchas,sid : string; str,chas : string; I : Integer; Len : integer; begin b:=TStringList.Create; a:=TStringList.Create; b.Text:=IdHTTP1.Post('http://vkontakte.ru/login.php',a); if pos('captcha_sid',b.Text)<>0 then begin ShowMessage('E^a`i"?a`'); end else b.Clear; a.Clear; a.Add('act=login'); a.Add('email='+Edit1.Text); a.Add('pass='+Edit2.Text); b.Text:=IdHTTP1.Post('http://login.vk.com/',a); s:=copy(b.Text,285,56); a.Clear; b.Clear; a.Add('s='+s); a.Add('op=slogin'); b.Text:=IdHTTP1.Post('http://vkontakte.ru/login.php',a); a.Clear; b.Clear; IdHTTP1.Request.CustmHeaders.Add('Cookie: remixsid='+s); b.Text:=IdHTTP1.Get('http://vkontakte.ru/profile.php'); a.Clear; b.Clear; b.Text:=IdHTTP1.Post('http://vkontakte.ru/friends_ajax.php',a) ; Memo2.Text:=b.Text; y:=b.Text; repeat Delete(y,1,50); o:=pos('[',y)+1; ui:=pos(';"',y); io:=ui-o; p:=(copy(y,o,io)); Memo1.Lines.Add(p) ; y:=copy(y,o,length(y)-o); until (pos('[',y)=0); end; Теперь если не выходить из программы и ввести новый аккаунт и снова парсить то выдает ошибку 302. И еще на анкете в браузере 1 297 друзей, а парсит 1282 друга.
очень удобный вид. можно ли в подобном виде получить список композиций с ссылками для скачивания по соответствующему запросу?
если просто загружать страницу для последующего парсинга получается очень не выгодно по трафику, т.к. она весит ~300 кб, а полезной информации, т.е. названия композиций, ссылки на них весят считанные килобайты...