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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2013, 20:36   #1
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию Помогите спарсить количество подписчиков группы в вк

Доброго времени суток.
Собственно вопрос в названии темы.
Делал вот так:

Кинул на форму idHttp,IdSSLIOHandlerSocketOpenSSL, listbox.
IdSSLIOHandlerSocketOpenSSL связал с idHttp
Код:
function Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then
    Exit
  else
    a := a + Length(T_);
  ForS := Copy(ForS, a, Length(ForS) - a + 1);
  b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b - 1);
end;
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 Source:TstringList;
begin
  Source:=TStringList.Create;
  Source.Text:=IdHTTP1.Get('https://vk.com/mdk');
  listbox1.items.add('Подписчиков: '+Pars('<span class="fl_r"></span>',Source.Text,'<span class="num_delim">'));
  Source.Free;
end;
По идеи должно вывести: "Подписчиков: 3", но возвращает только "Подписчиков: ". Помогите, пожалуйста.
Andrey770 вне форума Ответить с цитированием
Старый 29.11.2013, 21:50   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 Source:TstringList;
begin
  Source:=TStringList.Create;
  Source.Text:=IdHTTP1.Get('https://vk.com/mdk');
  listbox1.items.add('Подписчиков: '+stringreplace(Pars('<span class="fl_r"></span>',Source.Text,'<span class="num_delim">'),#13#10,'',[rfreplaceall]));
  Source.Free;
end;
Кольша вне форума Ответить с цитированием
Старый 29.11.2013, 21:54   #3
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

Не помогло, результат тот самый.
"Подписчиков: "
Andrey770 вне форума Ответить с цитированием
Старый 29.11.2013, 21:58   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
function pars(const a, b, s: string): string;
begin
  result := copy(s, pos(a, s) + length(a), length(s));
  result := copy(result, 1, pos(b, result) - 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 s:string;
begin
  s:=IdHTTP1.Get('http://vk.com/mdk');
showmessage(Pars('<span class="fl_r"></span>','<span class="num_delim">',s));
  listbox1.items.add('Подписчиков: '+stringreplace(Pars('<span class="fl_r"></span>','<span class="num_delim">',s),#13#10,'',[rfreplaceall]));
end;
Кольша вне форума Ответить с цитированием
Старый 29.11.2013, 22:13   #5
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

Теперь понял. Спасибо тебе, Кольша, большое.
Andrey770 вне форума Ответить с цитированием
Старый 29.11.2013, 22:24   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Это сарказм? или серьезно?
Во первых не обязательно парсить https, версию, во вторых по идее все должно работать, может дело в функции парсинга, а может вк по другому данные отдает.
Кольша вне форума Ответить с цитированием
Старый 29.11.2013, 23:21   #7
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

серьезно, все получилось
просто не те html тэги были вставлены, а благодаря вашему showmessage я увидел какие нужно ставить.
Вообщем все заработало.
Andrey770 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличить количество символов названия группы в соцсети CCC Фриланс 5 30.09.2012 18:06
Ведомость подписчиков xanderg Microsoft Office Access 7 03.10.2011 20:53
Программа для накрутки подписчиков и мне нарвиться вконтакте,Написать на делфи iwanenko Работа с сетью в Delphi 1 30.06.2011 12:32
Строки(группы букв и группы знаков), Pascal Mrs Smith Помощь студентам 1 10.12.2009 16:31