![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здраствуйте, я хочу написать парсер данных с сайта.
Надо из каждого работодателя вытащить данные (название, телефон, почта, сайт, описание), желательно в xls. Реально ли это? В какую сторону копать? Есть ли статьи на эту тему? |
|
#2
|
||||
|
||||
|
Pos(), Copy()
|
|
#3
|
|||
|
|||
|
TWebDocument (по-моему такое название класса) умеет распарсивать сразу тэги (таблицы, ссылки и т.д.), без Pos, Copy и т.д., в инете куча примеров есть.
|
|
#4
|
|||
|
|||
|
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
WebBrowser1.Navigate('http://jobinmoscow.ru/rab.php');
Memo1.Text:=WebBrowser1.OleObject.Document.documentElement.innerText;
end; |
|
#5
|
||||
|
||||
|
ну уж тогда:
Код:
uses
MSHTML,
var
document: IHTMLDocument2;
all: IHTMLElementCollection;
element: IHTMLElement;
i: Integer;
begin
WebBrowser1.Navigate('http://jobinmoscow.ru/rab.php');
while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
Application.ProcessMessages;
document:=WebBrowser1.Document as IHTMLDocument2;
all:=document.all;
for i:=0 to all.length-1 do
begin
element:=all.item(i, '') as IHTMLElement;
Memo1.Lines.Add(element.innerText);
end;
end; |
|
#6
|
|||
|
|||
|
А можно ли удалять строки из Memo1 с помощью Delete()?
|
|
#7
|
|||
|
|||
|
Цитата:
можно циклом Код:
var i:integer; // i-строка которую надо удалить
begin
for i:=3 to memo1.Lines.Count-2 do //-2 потому что мы удаляем одну строку и их соотв-но станет на одну меньше.
Memo1.lines[i]:=Memo1.lines[i+1]; //все строки начиная со строки i смещаем на одну вверх,
//тем самым "затираем" нужную нам строку (i) следующей за ней строкой |
|
#8
|
|||
|
|||
|
а как же Memo1.Lines.Delete(Index_начиная_с_нуля) без всяких мудреных циклов?
Последний раз редактировалось Assistant, 24.04.2011 в 21:48. |
|
#9
|
|||
|
|||
|
блиииин!
я прост помню когда выше мной написанное делал,я перед этим пробовал написать memo1.lines[i].delete ... но у меня не выскакивало слово .delete и почемуто подумал что нельзя удалять так,ппц |