Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 17:43   #11
Malriser
xor esp, esp
Форумчанин
 
Регистрация: 11.02.2014
Сообщений: 135
По умолчанию

Цитата:
Сообщение от mogo Посмотреть сообщение
Точней не много не так.

Код:
<response list="true">
<id>1</id>
</response>
Получить все что в <id></id> и подставьте значения к ссылкам и переходить по ним по очереди, спарсить там еще (ну это я уже сам разберусь).
Второй пост посмотри. Я ответил тебе и привел код функции.

Используешь ее в цикле, передавая по очереди из списка строку, если нету <id> то она вернет -1, а если возвращает что-то другое значит там стоит такой айди. Но учти, если ID - строковый, будет вылет.
Malriser вне форума Ответить с цитированием
Старый 12.02.2014, 18:09   #12
mogo
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 40
По умолчанию

В чем тут ошибка:

Код:
http.HTTPMethod('GET', 'https://api.vk.com/method/groups.get?uids='+id+'&filter=admin&access_token='+token);
html.LoadFromStream(http.Document);
StringReplace(html.Text, '[', ',',[rfReplaceAll, rfIgnoreCase]);
StringReplace(html.Text, ']', ',',[rfReplaceAll, rfIgnoreCase]);
StringReplace(html.Text, ',', ':;',[rfReplaceAll, rfIgnoreCase]);
      http.Document.Clear;
      http.Headers.Clear;
      html.Clear;
end;
begin
reg3:=tregexpr.Create;
reg3.Expression:=';(.*?):';
if reg3.Exec(html2) then repeat
prx3.Add(reg3.Match[1]);
until
not
reg3.Execnext;
prx3.Text:=trim(prx3.Text);
if prx3.Count>0 then
begin
for i := 0 to prx3.Count-1 do
begin
http.HTTPMethod('GET', 'https://api.vk.com/method/groups.getById?gids='+prx3[i]+'&fields=members_count&access_token='+token);
html.LoadFromStream(http.Document);
bars.Add('Link: http://vk.com/club'+prx3[i]);
bars.Add('Name groups: '+pars('"name":"' , html.Text ,'"'));
bars.Add('Member: ' + pars('"members_count":',html.Text, ',')) ;
bars.Add('Stats: http://vk.com/stats?gid='+prx3[i]);
bars.Add('------------');
end;
end else
bars.Add('Нет групп');
end;
      http.Document.Clear;
      http.Headers.Clear;
      html.Clear;
mogo вне форума Ответить с цитированием
Старый 12.02.2014, 18:18   #13
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

А как ошибка себя проявляет?
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 18:29   #14
mogo
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 40
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
А как ошибка себя проявляет?
Почему то всегда "Нет групп'"
mogo вне форума Ответить с цитированием
Старый 12.02.2014, 18:33   #15
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Я не вижу в коде загрузки данных в html2
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 18:36   #16
mogo
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 40
По умолчанию

Соровно ошибка:

Код:
http.HTTPMethod('GET', 'https://api.vk.com/method/groups.get?uids='+id+'&filter=admin&access_token='+token);
html.LoadFromStream(http.Document);
StringReplace(html.Text, '[', ',',[rfReplaceAll, rfIgnoreCase]);
StringReplace(html.Text, ']', ',',[rfReplaceAll, rfIgnoreCase]);
StringReplace(html.Text, ',', ':;',[rfReplaceAll, rfIgnoreCase]);
      http.Document.Clear;
      http.Headers.Clear;
      html.Clear;
end;
begin
reg3:=tregexpr.Create;
reg3.Expression:=';(.*?):';
if reg3.Exec(html.Text) then repeat
prx3.Add(reg3.Match[1]);
until
not
reg3.Execnext;
prx3.Text:=trim(prx3.Text);
if prx3.Count>0 then
begin
for i := 0 to prx3.Count-1 do
begin
http.HTTPMethod('GET', 'https://api.vk.com/method/groups.getById?gids='+prx3[i]+'&fields=members_count&access_token='+token);
html.LoadFromStream(http.Document);
bars.Add('Link: http://vk.com/club'+prx3[i]);
bars.Add('Name groups: '+pars('"name":"' , html.Text ,'"'));
bars.Add('Member: ' + pars('"members_count":',html.Text, ',')) ;
bars.Add('Stats: http://vk.com/stats?gid='+prx3[i]);
bars.Add('------------');
end;
end else
bars.Add('Нет групп');
end;
      http.Document.Clear;
      http.Headers.Clear;
      html.Clear;
mogo вне форума Ответить с цитированием
Старый 12.02.2014, 18:39   #17
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Код:
html.Clear;
Ты же очистил html. А теперь пытаешься с него читать? Оригинально.
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 18:42   #18
mogo
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 40
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Код:
html.Clear;
Ты же очистил html. А теперь пытаешься с него читать? Оригинально.
Убрал. Но соровно ошибки не решена ((
mogo вне форума Ответить с цитированием
Старый 12.02.2014, 19:03   #19
mogo
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 40
По умолчанию

Все. Уже сам решил проблему.
mogo вне форума Ответить с цитированием
Старый 12.02.2014, 19:06   #20
Malriser
xor esp, esp
Форумчанин
 
Регистрация: 11.02.2014
Сообщений: 135
По умолчанию

Цитата:
Сообщение от mogo Посмотреть сообщение
Все. Уже сам решил проблему.

Напиши как решил. А то вдруг у кого-то такая же проблема и с помощью гугла он попадет сюда - а тут пишут "Уже сам решил". Знаешь, как проклинаешь таких? Поэтому повысь карму - напиши решение для тех, у кого сейчас такая проблема
Malriser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг. Fahman Общие вопросы Delphi 1 18.12.2013 15:52
парсинг gunguru PHP 1 07.06.2012 11:49
парсинг Pein95 Работа с сетью в Delphi 4 01.12.2011 02:06