forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Delphi (http://forum.boolean.name/forumdisplay.php?f=66)
-   -   Данные с icq.com (http://forum.boolean.name/showthread.php?t=9867)

Freez 11.11.2009 05:03

Данные с icq.com
 
Hарод подскажите пожалуйста простой пример получения строки nickname с http://www.icq.com/people/full_detai...php?uin=666666

WaReZ_MEN 11.11.2009 09:01

Ответ: Данные с icq.com
 
Парсь html и ище в нем блок

<div class="udu-line2">
<div class="udu-flnm">Nickname</div>
<div class="udu-flvl">Human</div>
</div>

<-TzX-> 12.11.2009 19:35

Ответ: Данные с icq.com
 
Код:

Var
  I:Integer;
  S:string;
Begin
  i:=pos('Nickname',S);
  if i<>0 do
  Begin
      S:=copy(S,i,Length(S));
      i:=pos('flvl',S);
      S:=copy(S,i,Length(S));
      i:=pos('</div>',S);
      S:=copy(S,7,i-7);
  End;
End;

Как вариант можно сделать так. Прошу ногами сильно не пинать, какая первая мысль по поводу прасинга в голову пришла, так и сделал =)

Изначально в переменной S должен быть весь код страницы, после выполнения этого куска, там останится лишь Ник.

Пример рабочй проверял. Работать будет до тех пор пока не изменят структуру сайта. Ну или у человека не будетв нике "</div>" =))

Freez 13.11.2009 06:45

Ответ: Данные с icq.com
 
Цитата:

Сообщение от <-TzX-> (Сообщение 124472)
Код:

Var
  I:Integer;
  S:string;
Begin
  i:=pos('Nickname',S);
  if i<>0 do
  Begin
      S:=copy(S,i,Length(S));
      i:=pos('flvl',S);
      S:=copy(S,i,Length(S));
      i:=pos('</div>',S);
      S:=copy(S,7,i-7);
  End;
End;

Как вариант можно сделать так. Прошу ногами сильно не пинать, какая первая мысль по поводу прасинга в голову пришла, так и сделал =)

Изначально в переменной S должен быть весь код страницы, после выполнения этого куска, там останится лишь Ник.

Пример рабочй проверял. Работать будет до тех пор пока не изменят структуру сайта. Ну или у человека не будетв нике "</div>" =))

Шикарно, теперь ножно сделать полноценный сборщик данных .

Respect аффтору :super: :super: :super: :super: :super: :super: :super:

Только вот если переменная вся страница, небудет ли сборщик работать слишком медленно.Может как то ограничить переменную до нужной части ,если конечно возможно.

<-TzX-> 13.11.2009 10:00

Ответ: Данные с icq.com
 
Напрямую нельзя получить именно нужный кусок кода. Сначало получается в переменную вся станица, а потом уже идет прасинг (если не так, про исправте). Да и снижения скорости не будет. Если вглядется в код прасера, то когда находим нужные данные, все, что были до них удаляются. Еще глянул на структуру сайта, этим прасером можно получить практически любые данные со страницы информации, заменяя лишь слово поиска в начале. Так что программу по сбору инфораций будет сделать думаю не сложно.


Часовой пояс GMT +4, время: 00:45.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot