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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2014, 16:34   #1
Xlook
 
Регистрация: 13.04.2014
Сообщений: 7
Вопрос Парсер

Привет ребятки у меня проблема, начал изучать парсеры, попытался сделать сам в итоге вот что вышло:
Код:
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
  data:string;
begin
  data:=IdHTTP1.Get('http://news.yandex.ru/quotes/1.html'');

 Memo1.Text:=Pars('<span class="b-quote__sgn"></span>">', data, '< /td>'');
Memo1.Text:=UTF8Decode(Memo1.Text);
end;
Проблема заключается в том как получить не 1 значения а несколько т.е пропарсить весь сайт
ссылка: http://news.yandex.ru/quotes/1.html

Последний раз редактировалось Xlook; 13.04.2014 в 16:42.
Xlook вне форума Ответить с цитированием
Старый 13.04.2014, 17:08   #2
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Есть функция - PosEx (Модуль StrUtils). В более новых версиях - Pos с соответствующей перегрузкой. Описание
Эта функция позволяет искать текст начиная с определенной позиции (3 параметр функции).

Пример использования:
Код:
FromText := '<span class="b-quote__sgn"></span>">';
i := 1;
while Pos(FromText, Source, i) <> 0 do
begin
  i := Pos(FromText, Source, i) + Length(FromText);
  j := Pos('</td', Source, i);
  if (i = 0) or (j = 0) then Break;

  CopyText := Copy(Source, i, j - i);
  ...
end;

Последний раз редактировалось kangreon; 13.04.2014 в 17:12.
kangreon вне форума Ответить с цитированием
Старый 14.04.2014, 00:38   #3
cotseec
Пользователь
 
Регистрация: 02.05.2012
Сообщений: 45
По умолчанию

воспользуйтесь DOM
для начала Что можно «вытащить» из DOM’а?
Skype: cotseec
ICQ: 330-171-495
cotseec вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсер Ольга 963 Помощь студентам 10 07.12.2013 11:13
Парсер hitrov PHP 0 04.12.2012 20:30
Парсер cargo29 JavaScript, Ajax 2 15.09.2011 19:07
парсер на C# newerwiner C# (си шарп) 1 08.05.2011 16:16
Парсер Ronin333 Общие вопросы C/C++ 3 15.04.2010 14:00