Для нашей задачи нам понадобится небольшие познания в программировании на Delphi, бесплатные компоненты из набора . В самом начале нам требуется иметь установленную Delphi7, и наличие соединения с Интернет, для проверки работы программы. Для начала скачаем и установим их. Сам компонент расположен тут - http://bsalsa.com/DP/download.php?file=0. Шаги инсталяции: 1.После скачивания, распакуйте в папку “..:\Borland\Delphi7\lib” 3. В Delphi выберите File –> “Open” Перейдите в папку (”..:\Borland\Delphi5\lib\EmbeddedWB_D2005\Source”). 5.Выберите файл “EmbeddedWebBrowser_D7.dpk” и нажмите Open. 6. Нажмите compile и install 7. Все, компонент установлен. Если все прошло успешно, приступаем к написанию самой программы, так как подготовительный этап закончен. Из этих компонентов для нашей задачи, нам нужен всего один - TextIEParser. Создаем форму в Delphi. Помещаем на нее panel и на нее edit и speedbutton. Statusbar и еще memo - установив свойство Align в alClient. Не забываем и про наш IEParser. Меняем свойство caption у формы. Получили такой листинг нашей формы: PHP: unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls; type TForm1 = class(TForm) StatusBar1: TStatusBar; Panel1: TPanel; Edit1: TEdit; SpeedButton1: TSpeedButton; Memo1: TMemo; IEParser1: TIEParser; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} end. Начнем методично добавлять функционал. Добавим событие на OnClick нашей SpeedButton. Делается это просто, двойной клик на нашей кнопке на форме. PHP: procedure TForm1.SpeedButton1Click(Sender: TObject); begin // задаем как парсить гугл и текст запроса из Edit IEParser1.URL:='http://www.google.com/ie?q='+Edit1.Text+'&num=100&hl=en&lr=&newwindow=1&c2coff=1'; // Запуск парсера IEParser1.Go; end; Такой простой код в этой задаче нас устроит, он дает только 100 первых результатов. Большие возможности рассмотрим в следующих примерах, если этот будет полезен народу. Сейчас наша задача выдрать код ссылок полученных и поместить это в Memo. Открываем наш любимый браузер с таким запросом http://www.google.com/ie?q=inurl:bbs.cgi&num=100&hl=en&lr=&newwindow=1&c2coff=1 И бегом смотреть исходники страницы. Анализируя код html страницы приходим к выводу, что все что нам нужно есть в тегах A. И что те ссылки, что не ведут на google, нам и нужны. Нам нужен event нашего IEParser - onAnchor PHP: procedure TForm1.IEParser1Anchor(Sender: TObject; hRef, Target, Rel, Rev, Urn, Methods, Name, Host, HostName, PathName, Port, Protocol, Search, Hash, AccessKey, ProtocolLong, MimeType, NameProp: String; Element: TElementInfo); begin if Pos('google', href) = 0 then Memo1.Lines.Add(href); StatusBar1.SimpleText:='Find links: '+IntToStr(Memo1.Lines.Count+1); end; Все - наш просто парсер готов! (c)
"Парсер Google за несколько минут на Delphi7" "\Borland\Delphi5\lib\EmbeddedWB_D2005\Source” нестыковка получается =) ставить 2 версии дельфи для простенького парсера?