![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствууйте подскажите плз,как спарсить (скопировать) текст с сайта в мемо.
Текст например E-mail с сайта vk.com |
|
#2
|
|||
|
|||
|
Первое что приходит в голову - регулярные выражения, но я тут не помощник - не силен в них.
Второе - посмотреть исходник страницы и найти теги, которые до нужного текста и после (теги или группа тегов должны быть уникальна) и потом вынуть подстроку. |
|
#3
|
||||
|
||||
|
Ему, похоже, надо из области ввода дернуть, при заполнении.
|
|
#4
|
|||
|
|||
|
Проблема то в том , что я не знаю как это сделать,мне нужно сделать так например если в html коде страницы есть надпись выход то написать в мемо типо вы не на сайте, а если нету выход, то писало в мемо что то типо вы вошли ну или что то типо токого.
Заранее спасибо... |
|
#5
|
||||
|
||||
|
Если тебе надо авторизоваться на сайте и выполнять какие-то действия, то смотри документацию В Контакте здесь. Если ты хочешь парсить страницы, то использую IdHTTP.Get (вкладка Indy Clients). Эта функция возвращает исходный код страницы либо результат запроса.
|
|
#6
|
|||
|
|||
|
это не то,просто напишите код плз как с сайта какую нибуть надпись перенести в мемо или edit
|
|
#7
|
|||
|
|||
|
Цитата:
Как говорилось в старом добром фильме "Дорогой, тебе исключительно повезло. Я тебе помогу" Вот так выцепить хтмл-код (сделал буквально вчера - для аналогичных нужд) Код:
unit Unit1;
interface
uses
SysUtils, Classes, Controls, Forms, StdCtrls, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, StrUtils;
type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
_addr : string;
_text : AnsiString;
begin
_addr := 'http://www.ruslo.net/index.php/list/19-vse-suschestvitel-nye-russkogo-yazyka/1.xhtml'; // адрес сайта
_text:= UTF8ToAnsi(IdHTTP1.Get(_addr)); // этот сайт в кодировке UTF8, поэтому пишем перевод в анси, что характерно
memo1.text := memo1.text + _text;
end;
end.Вот так вот. Последний раз редактировалось U.B.M., 07.11.2011 в 00:04. |
|
#8
|
|||
|
|||
|
На дух не переношу idHTTP по этому Synapse.
На примере vk.com PHP код:
|
|
#9
|
||||
|
||||
|
Код:
... HTTPSend.Clear; stream.Clear; ... А освобождать ресурсы не нужно или это все входит в метод Clear? |
|
#10
|
|||
|
|||
|
Цитата:
спасибо,но ошибку выдает в каждой строке( HTTPSend, StdCtrls в юсес добавлял. |
|
#11
|
|||
|
|||
|
Цитата:
Цитата:
|