-
итак, есть задача - быстро скачать веб-страницу для последующий обработки, потребляя при этом минимум трафика. Собственно, я вижу это как по строчное считывание файла. Использованием какого алгоритма/компонента/типа сокетов/библиотеки можно реализовать это как можно быстрее?
-
Windows Socket. Что может быть быстрее?
-
Что есть "быстрее"? Скачивайте только html, без графики и прочего. Ну вон через тот же TIdHTTP из Indy (как вариант).
>> Собственно, я вижу это как по строчное считывание файла.
Это о чём вы сейчас? Или вы с ftp собираетесь?
-
> Собственно, я вижу это как по строчное считывание файла.
так не бывает...
тяни только хтмл...
-
я тяну только html.
почему не бывает? мы, что не можем скачать кусок файла из всего его объема?
-
накладные расходы будут меньше при файле скачанному за раз, нежели за несколько запросов...
-
ты определиь
или
> быстро скачать веб-страницу
или
> потребляя при этом минимум трафика.
имхо, вместе они не сочитаются...
-
хорошо, пусть будет быстро. использование wininet спасет меня? или проще/быстрее другие способы?
-
имхо, инди будет достаточно...
-
А оно разве медленно работает? Может вы просто медленно "последующе обрабатываете"?
>> мы, что не можем скачать кусок файла из всего его объема?
нууу.. Можем. Правда только кратно размеру пакета. Но делать "скачаем 5-ю строку текста из случайной web-страницы" - нельзя, где взять начало и длину строки (не говорю уж о кодировке)?
Кстати невозможно скачать быстрее чем "отдаёт" сам сервер.
-
> сергей (29.09.12 19:20)
для чего? если не секрет.
-
парсер нужен взводному!
-
> парсер нужен взводному
Похоже на курс молодого бойца, не ведающего что любой html-контент, даже весьма внушительного размера - в десятки мегабайт, сервер может и волен отдать клиенту всего одной строкой.
Что ты там при этом собрался "по строчно считывать" и каким образом ты собрался минимизировать трафик - то даже взводному неведомо)
-
> сергей (01.10.12 23:35) [11]
> парсер нужен взводному!
Быстро скачать - сокеты, скачать и пропустить этап распаковки буде она присутствовать - WinInet. Построчно считать - а с какой строки читать будем? Ну а парсер - это уже хорошая заявка на соответствующую квалификацию.
-
Сервер может не поддерживать докачку файлов - тогда вообще не получится скачивать с середины.
Насчёт минимизации трафика - разве что анализировать поступающие данные на лету и при каком-то условии пытаться обрывать скачивание. Впрочем, если известно что нужная информация начинается "не ранее чем с 100 байта текста" - можно пробовать и это использовать. Но это уже какое-то сильно частное решение получится, и при изменении разметки страницы всё грохнется. =)
И всё же если там какие-то "тормоза" - то скорее при дальнейшей обработке текста.
Можно всё-таки более конкретно задачу услышать? Какого вида парсер?
-
Бонус! (все события вымышленные, надеюсь никто не обидетса)
Смеркалось. В помещение бесшумно вошёл взводный. Мягко ступая, плавающей походкою приблизился он к подчинённым:
- эх... - тяжело и довольно громко вздохнул он.
Все вздрогнули и резко оглянулись - ведь никто так и не заметил его появления. Таинственно улыбаясь, взводный окинул туманным взглядом присутствующих. Вскоре взгляд сфокусировался на ком-то:
- Эх, Серёга..... - ещё более тяжко вздохнул он.
- амм... Шшто? - настороженно поинтересовался тот.
- А напиши-ка мне парсер! ^_____^
- О_о