Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Старый 17.04.2015, 13:59   #1
 Пехотинец
Аватар для zZkamedosZz
 
zZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе ценуzZkamedosZz знает себе цену
Регистрация: 17.01.2014
Сообщений: 67
Популярность: 4064
Сказал(а) спасибо: 145
Поблагодарили 138 раз(а) в 101 сообщениях
Отправить сообщение для zZkamedosZz с помощью Skype™
 
По умолчанию [Delphi] Как научиться парсить? | Token :D

Как парсить информацию с сайтов)
[Библа - Synapse]
*******************************
Что нам нужно?
1.Delphi, немного знаний и всё)
2.Сайт с которого будем парсить)
************************
Добавим в uses HTTPSend,ssl_openssl;
Добавляем кнопку + sMemo на форму)
Вставляем функцию парса:

её нужно вставить ниже этой строчки)
implementation

Код:
{$R *.dfm}
*********************
function Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then Exit;
a := Pos(T_, ForS);
if a = 0 then Exit
else a := a + Length(T_);

ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then Result := Copy(ForS, 1, b - 1);
end;
***********************
3.Кликаем на sButton [Button] 2 раза - смотря есть ли у вас альфа скин)
Должно открыться окошко.

procedure sButton1Click(Sender: TObject);
Код:
var
HTTP: THTTPSend;
HTML : TStringList;
begin
HTTP:= THTTPSend.Create;
HTML := TStringList.Create;
//Например взял | WarFrame :)
if HTTP.HTTPMethod('GET','https://warframe.com/ru') then
begin
HTML.LoadFromStream(HTTP.Document);
info :=Pars('"theme_token":"',Utf8ToAnsi(html.Text),'","'); // 'Откуда' и 'До куда'
sMemo1.Lines.Add(info);
end;
//Ещё нужно добавить в global var : info : string;
//Пишем такую кнопку как я напишу
end;

[Ссылки могут видеть только зарегистрированные пользователи. ] - что должно получиться.

Код:
unit Unit5;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, sMemo, sButton, httpsend, ssl_openssl;

type
TForm5 = class(TForm)
sButton1: TsButton;
sMemo1: TsMemo;
sButton2: TsButton;
procedure sButton1Click(Sender: TObject);
procedure sButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form5: TForm5;
info : string;

implementation

{$R *.dfm}

function Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then Exit;
a := Pos(T_, ForS);
if a = 0 then Exit
else a := a + Length(T_);

ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then Result := Copy(ForS, 1, b - 1);
end;

procedure TForm5.sButton1Click(Sender: TObject);
var
HTTP:THTTPSend;
HTML:TStringList;
begin
HTTP:=THTTPSend.Create;
HTML:=TStringList.Create;


if HTTP.HTTPMethod('GET','https://warframe.com/ru') then
begin
HTML.LoadFromStream(HTTP.Document);
info :=Pars('"theme_token":"',Utf8ToAnsi(html.Text),'","'); // 'Откуда' и 'До куда'
sMemo1.Lines.Add(info);
end;
end;

procedure TForm5.sButton2Click(Sender: TObject);
begin
sMemo1.Clear;
end;

end.
________________
Не можешь жить, займись чем-нибудь другим.

Последний раз редактировалось VeTaL_UA; 08.06.2015 в 13:06.
  Ответить с цитированием
Пользователь сказал cпасибо:
NebesaBag (20.04.2015)
Старый 28.05.2015, 03:43   #2
 Разведчик
Аватар для DikanYa
 
DikanYa никому не известный тип
Регистрация: 31.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Delphi] Как научиться парсить? | Token :D

Цитата:
'Главная | Warframe

я так понял, тут должна быть вставлена ссылка парсимуемой страницы?)
  Ответить с цитированием
Старый 28.05.2015, 20:58   #3
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: [Delphi] Как научиться парсить? | Token :D

DikanYa, не пользовался синапсом, но по логике да, там должна быть ссылка)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Как парсить сообщения из чата? pqsl Общение разработчиков 0 18.12.2012 22:38
[Помогите!] как парсить reg expr ? [Na`Vi]DendI Вопросы и ответы, обсуждения 15 29.06.2012 21:25
Научите парсить WiLLi-WindowS Вопросы и ответы, обсуждения 20 17.06.2012 12:20
Как парсить с flash? OneShot Вопросы и ответы, обсуждения 20 03.03.2011 20:20

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 15:57.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net