Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка Веб-страниц в Делфи 
:(
    Опции темы
Mach3
Дата 8.7.2008, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: -1
Всего: 2



Привет...
Хочу написать программу, но не представляю алгоритм ее действий...
Программа должна делать следующее:
С сайта drom.ru загружать информацию о продаваемых машинах и сохранять в БД или в таблице Excel с последующей выборкой по заданным условиям...
Практики работы с веб страницами небыло, поэтому не совсем понимаю какая последовательность действий программы должна быть...
Поделитесь соображениями по этому поводу...
И еще: где проще и лучше будет хранить эти данные? В БД или Excel?
Заранее благодарен...

Это сообщение отредактировал(а) Mach3 - 8.7.2008, 02:18
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
Frees
Дата 8.7.2008, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(Mach3 @  8.7.2008,  02:16 Найти цитируемый пост)
В БД или Excel?

зависит от того как будеш пользовать эту информацию. я бы в базе хранил в ехель всегда можно экспортнуть

а для начала просто попробуй скачать страницу с сайтагде лежит нужная информауия а уже попытаться разобрать HTML это 2 шаг
для доступа к сайту используй indy


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Rodman
Дата 8.7.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



компонент 
Код

THTTP.Get(...)
для изъятия текста из страницы
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Frees
Дата 8.7.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(Rodman @  8.7.2008,  12:24 Найти цитируемый пост)
для изъятия текста из страницы

я бы скорее сказал для изъятия текста с сервера


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Mach3
Дата 8.7.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: -1
Всего: 2



Т.е. сначала я загружаю страницу..
Потом парсирую.. Отсеиваю нужную мне информацию..
А как я буду загружать следующую страницу...
1,2,3,4... надо каждый раз вытаскивать ссылку из страницы ?

Это сообщение отредактировал(а) Mach3 - 8.7.2008, 16:08
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
Mach3
Дата 8.7.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: -1
Всего: 2



Код

memo1.lines.add(idhttp1.Get('http://www.drom.ru'));

Вернуло:
---------------------------
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head><body><b><font color=red>Внимание!</font></b><p>Массовое скачивание страниц этого сайта специальными программами запрещено! Если вы попробуете обойти это ограничение, ваш IP-адрес может быть забанен на неопределенный срок!</body></html>
---------------------------
Как быть?
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
Rodman
Дата 8.7.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Цитата(Mach3 @  8.7.2008,  16:23 Найти цитируемый пост)
Как быть? 

ну тут уже легче в TStringList загнать и парсить
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Frees
Дата 9.7.2008, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



а есть способ работать с html как с xml?
или нужно самаму все парсить?

Добавлено через 58 секунд
Rodman, он имеет в виду может как быть с тем что ему угражают баном

Добавлено через 2 минуты и 46 секунд
Цитата(Mach3 @  8.7.2008,  16:23 Найти цитируемый пост)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head><body><b><font color=red>Внимание!</font></b><p>Массовое скачивание страниц этого сайта специальными программами запрещено! Если вы попробуете обойти это ограничение, ваш IP-адрес может быть забанен на неопределенный срок!</body></html>---------------------------Как быть?


прикинуться учздщкукщь. и выдерживать паузу перед скачиванием может и поможет


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Mach3
Дата 9.7.2008, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: -1
Всего: 2



Цитата

прикинуться Explorer'ом и выдерживать паузу перед скачиванием может и поможет

А можно поподробнее?
Как сервер определяет браузер ли посылает запрос?
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
Elfebet
Дата 9.7.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



в компоненте TIdHTTP есть свойство UserAgent вот там ты можеш написать к примеру
Код

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)

и сервер будет считать что ты загрузил страницу с Internet Explorer 6.0


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
Frees
Дата 9.7.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



ну тут надо подробнее выяснить как сервер определяет что ты робот. но это тебе в другой раздел форума.


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Mach3
Дата 21.7.2008, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: -1
Всего: 2



Код

procedure TForm1.Button1Click(Sender: TObject);
var http:TidHTTP;
    drom:TStringStream;
    s:TstringList;
    i,j,ftag,ntag:integer;
    sdrom,finishstring:string;
begin
drom.Create('');
http:=IdHTTP1.Create(nil);
http.get('http://www.drom.ru', drom);
sdrom:=drom.ReadString(8);
i:=length(sdrom);
for j:=1 to i do begin
ftag:=posex('<td>', s[1], i);
ntag:=posex('</td>', s[1], i);
FinishString:=copy(sdrom, ftag, ntag-ftag);
memo1.Lines.Add(FinishString);
end;


Какую бы строку не пытался из StringStream засунуть в String выдаёт ошибку..
Что не так делаю?
Может лучше/проще загружать в TStringList?

--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.