считывание информации с сайта

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dim...ON
Сообщения: 75
Зарегистрирован: 28 янв 2008, 01:10
Контактная информация:

добрый вечер всем читающим
У меня такая ситуация, раньше работал с программами, не связанными никак с Интернетом... а вот теперь возникла такая необходимость, считать информацию с сайта для обработки в локальной программе
Не подскаже ли кто из умельцев как лучше это делать? И какие вообще компоненты и/или другие средства и функции мне было бы полезно знать?
Заранее премного благодарен
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Есть готовый компонент TWebBrowser. (Это самый простой путь)
Наверняка есть готовые компоненты - HTTP-клиенты.

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

Установив сокентое соединение с нужным хостом по порту 80 (как правило). Надо отправить GET или HEAD или POST запрос, получить ответ и распарсить его.

Как формировать команды и как анализировать ответы написано главным образом в RFC2616: http://www.ietf.org/rfc/rfc2616.txt
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Вообще-то тырить инфу нехорошо, но иногда нужно :) я через php такие вещи проворачиваю, в плане распарсить документ, куда удобнее и быстрее нежели через dom мучаться..
[syntax=Delphi] [/syntax]
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

И еще один - самый простой (но не всегда подходящий) способ - Win32 API Функция UrlDownloadToFile - просто скачает 1 файл по ссылке, если это интернет-страница, то будет скачан только 1 html-файл, который тянет за собой все остальное. Для подключения UrlDownloadToFile использует общие Настройки подключения, прописанные в IE, в частности можно скачать файл даже через настроенный HTTP прокси-сервер без авторизации. Функция позволяет отслеживать прогресс закачки, закачка однопоточная.
На заказ: VBA, Excel mc-black@yandex.ru
Ответить