Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
1

Пинг и парсинг сайта

06.04.2013, 22:11. Просмотров 2715. Ответов 42
Метки нет (Все метки)


Добрый день.
Такой вопросик. Есть программка типа сервер-клиент, в которой клиент записывает данные в свои формы (edit или memo), взятые с сайта. Как задумано: клиент сначала пингует сайт (возможно, это осложняется тем, что сайт будет на бесплатном хостинге), потом открывает определённую страницу, затем авторизуется там (пара логин-пароль), берёт нужные данные (только они там будут, набор цифр) и вставляет в свои формы. Если пинг первого сайта не проходит - пингует второй сайт (до 3 штук). Подскажите, как это организовать. Ни разу не имел дело с Post и Get запросами.
Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2013, 22:11
Ответы с готовыми решениями:

Парсинг h2 из сайта
Есть код который скопировал с примеров парсинга. В других исходниках работает, но у меня нет....

Парсинг сайта
есть 2 кода для разных сайтов,по сути одинакаво должны работать,но в певром варианте берет все...

Парсинг с сайта
Пишу программу которая будет загружатьhtml код страницы 10-ти минутной почты, но на мой запрос он...

Парсинг сайта
Здравствуйте программисты :) Помогите пожалуйста с такой проблемкой: нужно вытащить IP адрес с...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
42
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 22:18 2
Цитата Сообщение от Helicopters Посмотреть сообщение
сначала пингует ..потом открывает
А что, сразу открыть безо всяких сначалопингов не судьба ?
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 22:21  [ТС] 3
а вдруг он офф? тогда приложение выдаст сообщение об ошибке. а хотелось бы, чтобы всё было в автоматическом режиме
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 22:26 4
1. Можно подумать что "офф" - единственная причина, по которой "приложение выдаст сообщение об ошибке".
2. Успешный пинг хоста не является и не может являться достоверным фактом доступности иного сервиса на этом хосте.
Равно как и неуспешный пинг не является и не может являться достоверным фактом недоступности иного сервиса на этом хосте.
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 22:29  [ТС] 5
я Вас понял. благодарю за ответы. но всё-таки хотелось бы услышать что-нибудь конкретное
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 22:30 6
Цитата Сообщение от Helicopters Посмотреть сообщение
хотелось бы услышать что-нибудь конкретное
Конкретика напрямую зависит от конкретного сайта.
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 22:37  [ТС] 7
сайт будет создаваться на хостинге Народ.Яндекс. сайт состоит из 1 страницы, на которой написаны цифры.
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 22:41 8
Ну вот как только сайт будет создан и заработает - тогда и приходи за конкретностями.
До этого момента рассуждать о конкретностях бессмысленно.
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 22:59  [ТС] 9
простите, Народ.Яндекс отказал от создания сайта
ссылка на сайт
прошу
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 23:19 10
так..
и что из этого добра нужно получить ?
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 23:20  [ТС] 11
из этого нужно только 123.456.789.012.345.678 и вывести это в edit или memo
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 23:27 12
Код
uses httpsend // http://synapse.ararat.cz/lib/exe/fetch.php/file:synapse40.zip
var
  sl: TStrings;
..
  sl := TStringList.Create;
  HttpGetText('http://test-11111.ucoz.ru/', sl);
  edit.Text := Copy(sl[1], Pos(' ', sl[1])+1, Length(sl[1]));
  sl.Free;
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 23:32  [ТС] 13
а можно это осуществить стандартными методами, без дополнительных библиотек?
P.S. кстати, что это за url в комментариях кода?
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 23:35 14
можно.
но не нужно.

Цитата Сообщение от Helicopters Посмотреть сообщение
что это за url
источних для загрузки библ-ки Synapse
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
06.04.2013, 23:38  [ТС] 15
простите, но вес файла для меня является важной величиной. ставить доп. библиотеку не считаю нужным, но благодарю за ссыль
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
06.04.2013, 23:42 16
Цитата Сообщение от Helicopters Посмотреть сообщение
ставить доп. библиотеку не считаю нужным
Ну тогда пользуй встроенную - Indy.
Но потом не хнычь что размер исп.файла у тебя вырос до неприличного размера.
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
07.04.2013, 01:33  [ТС] 17
договорились

Добавлено через 1 час 34 минуты
вот код на парсинг страницы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.btn1Click(Sender: TObject);
var
 P: Integer;
 S: String;
begin
mmo1.Clear;
mmo1.Lines.Text:=IdHTP1.Get('http://test-11111.ucoz.ru/');
mmo1.Lines.Delete(0);
S := mmo1.Lines.Text;
P := Pos(' ', S);
edt1.Text := Copy(S, 0, P-1);
end;
Добавлено через 13 минут
вопрос с пингом остаётся открытым
0
98 / 98 / 14
Регистрация: 02.02.2013
Сообщений: 319
07.04.2013, 11:39 18
Delphi
1
2
3
4
5
  try
    IdHTTP1.Get('http://fanckcs.ru/');
  except
    ShowMessage('Сайт не доступен либо не подключен интернет!');
  end;
Добавлено через 6 минут
В вашем случае вот так, не много изменил ваш парсинг, что бы в следующий раз вам было легче парсить значения

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Удобная функция для парсинга
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 TForm4.Button1Click(Sender: TObject);
var
 S: String;
begin
  try
    mmo1.Clear;
    mmo1.Lines.Text:=IdHTP1.Get('http://test-11111.ucoz.ru/');
    S := Pars('"',mmo1.Text,'" numbers"'); // Функция парсинга
    edt1.Text := S;
  except
    ShowMessage('Сайт не доступен либо не подключен интернет!');
  end;
end;
ИМХО. А на счет synapse - mss прав, он не такой глюченный как indy и размер исполняемого файла меньше.
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
07.04.2013, 11:51 19
Цитата Сообщение от Helicopters Посмотреть сообщение
вопрос с пингом остаётся открытым
пинг для твоей задачи - бестолковая затея, пятое колесо телеги.
0
5 / 2 / 0
Регистрация: 18.03.2013
Сообщений: 104
07.04.2013, 12:53  [ТС] 20
Цитата Сообщение от mss Посмотреть сообщение
пинг для твоей задачи - бестолковая затея
а как мне по-другому узнать, доступен ли сайт? если доступен - парсить. если нет - обратиться к следующему

Xotabu4, благодарю. а чем Ваш метод лучше? почему будет легче парситься?

Добавлено через 5 минут
в memo выводит код сайта, а в edit - пусто. думаю, что ошибка в этой строчке:
Delphi
1
 S := Pars('"',mmo1.Text,'" numbers"'); // Функция парсинга
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2013, 12:53

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Парсинг содержимого сайта
Народ как запарсить текст в дельфи function Pars (T_, ForS, _T : string): string; var a, b...

Парсинг ссылок сайта
есть парсер для сайта который берет вакансии с сайта http://www.work.ua/jobs/?category=1 каким...

Парсинг данных с сайта
Есть удаленный сервер, тобиш сайт, на нем стоит рейтинг серверов. Мне нужно спарсить все сервера...

Парсинг странички сайта на Ajax
помогите спарсить сайт, даже страничку собственно страничка https://live.fonbet.com/livebets/ я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.