Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.02.2009, 09:28
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию Отслеживание изменений на странице сайта

Может кто подскажет как отследить изменения на странице с помощью TWebBrowser (D7).
Сайт торгов и надо отслеживать изменение цены лота с интервалом примерно 5-10 мин.
Попытки применять методы TWebBrowser в моем исполнении дают жалкий эффект (т.е. никакого). Чайник я, что касается Web.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #2  
Старый 15.02.2009, 10:47
akalom akalom вне форума
Прохожий
 
Регистрация: 15.02.2009
Сообщения: 1
Репутация: 10
По умолчанию Немного не в тему

Я делал парсинг через Indy.
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Label1: TLabel;
    Timer1: TTimer;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  http:TidHttp;
  CooM:TidCookieManager;
  data:TStringList;
  page1, name1:String;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  data :=TStringList.Create;
  http:=TIdHTTP.Create(Self);
  http.AllowCookies:=true;
  CooM:=TidCookieManager.Create(http);
  http.CookieManager:=CooM;
  http.HandleRedirects:=true;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  data.Free;
  Coom.Free;
  http.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  name1:='';

  page1 := http.Get('http://auction.ru/page.html');
//  page1 := Utf8ToAnsi(page1); // это для перевода из utf-8 в windows-1251

  // ищим нужную позицию в тексте, копируем цену и выводим на форму
  name1:=copy(page1,Pos('<span class="text3">',page1)+length('<span class="text3">'),4);
  Label1.Caption := name1;
  Form1.Caption := name1;
end;

end.
Ответить с цитированием
  #3  
Старый 15.02.2009, 12:12
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Спасибо за оперативный ответ.
Проблема именно в поиске нужного куска текста.
Я не случайно упомянул в первом посте TWebBrowser. С его помощью пользователь заходит на сайт и видит торги - это все работает. В идеале, он должен выделить то число (цену), которое надо отслеживать (на странице несколько торгов, поэтому несколько цен). Прога должна запомнить какое место выделено, а потом при обновлении страницы проверить: не изменился ли этот фрагмент.
Вот такая беда.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025