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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 10:42   #1
taurii
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 24
По умолчанию Парсинг текста с html?

Пытаюсб выпарсить текст с страницы, два условия срабатывают а третье нет.

Если по подробней получаю текст с страницы через инди, задаю условия,
1. Изображение в начале новости находит.
2. Текст материала невидит.
3. Ссылку на файл находит.

вот сам код. может кто-то увидит почему не парсится код

И еще, в регулярные выражения что только не писал никак не получается...

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, Shellapi;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 rss,rss1,title,link:WideString;
 i:integer;
begin
   rss:=IdHTTP1.Get('http://filmix.net/kriminal/22083-polyn-trava-okayannaya-2010.html');
  // rss1:=IdHTTP1.Get('http://filmix.net/kriminal/22083-polyn-trava-okayannaya-2010.html');
 // memo1.text:=rss1;
   i:=1;
   title:='';
   while (i<=length(rss)) do
    begin
     if pos('file=',rss)<>0 then
      begin
      Delete(rss,1,pos('<img align="left" src="',rss)+length('<img align="left" src="')-1);
       title:=copy(rss,1,pos('" alt=',rss)-1);
       ListBox1.Items.Add(Utf8ToAnsi(title));

         Delete(rss,1,pos('</b></div><br />',rss)+length('</b></div><br />')-1);
       title:=copy(rss,1,pos('<br /><br />',rss)-1);
       //ListBox3.Items.Add(Utf8ToAnsi(title));
       memo1.text:=title;

       Delete(rss,1,pos('file=',rss)+length('file=')-1);
       title:=copy(rss,1,pos('" /></object>',rss)-1);
       ListBox2.Items.Add(Utf8ToAnsi(title));



       i:=0;
      end;
     inc(i);
    end;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
   ShellExecute(Handle,nil,Pchar(ListBox1.Items[ListBox2.ItemIndex]),'','',SW_SHOW);
end;

end.
P.S. Сори ступил, проблема решена неправильное условие в ифе поставил... увидел только когда тему создал...

Последний раз редактировалось taurii; 08.07.2011 в 10:45.
taurii вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг html страницы Eldrich HTML и CSS 6 07.02.2011 01:25
Парсинг HTML russian-stalker Общие вопросы C/C++ 0 18.12.2010 11:25
Парсинг html страниц bulldog5293 Работа с сетью в Delphi 10 18.12.2010 01:20
парсинг Html eldar Общие вопросы Delphi 4 23.04.2009 20:42
HTML Парсинг BaikalLord Помощь студентам 5 15.12.2008 08:20