Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > Получение определенной части html-страницы |
Автор: AriX 29.8.2005, 15:57 |
Проблема такая. Нужно скриптом перебрать кучу страничек, чтобы выдрать оттуда определенную информацию. Вообщем-то, скачать страничку, и найти в ней нужное проблем не составляет. Но! Этих страниц порядка 50 тысяч, и каждая весит ~50 Кб. Т.е. если скачивать ее полностью, уйдет много трафика. Да и по скорости это долго. Инфа, которая нужна, хранится практически в конце html-кода. Т.е. в принципе, мне нужно скачать только определенное кол-во байт в конце страницы. Проблема как раз в этом и заключается - как это можно сделать? Пробовал указывать загаловок Range при запросе страницы, но сервер все равно отдает ее всю, и возвращает код 200 OK, вместо 206 Partial content. Есть подозрение, что сервер просто по сути, не поддерживает докачку для text/html файлов, коими обычные html'ки являются. В RFC про HTTP 1.1 ничего не нашел (может плохо искал?). Заранее спасибо за любые разъяснения! |
Автор: IZ@TOP 30.8.2005, 21:06 |
Сомневаюсь что такое вообще возможно. Если скрипт находится на срвере хостера то зачем траффик жалеть? |
Автор: AriX 31.8.2005, 08:59 | ||||
IZ@TOP
![]() ![]() Но меня просто заинтересовала эта проблема. Про трафик: одна страничка весит 31 КБ в среднем... Этих страничек 46600 46600 * 31 КБ / 1024 = 1410 МБ Многовато ![]() ![]()
Похоже так оно и есть, сервак может решать, обрабатывать ли ему заголовок Range или нет. Получается, что text/html они отдают только полностью :-/ |
Автор: Mal Hack 31.8.2005, 13:32 |
Если ты юзаешь fsockopen, то с ним можно попробовать заюзать fseek, но не думаю, что прокатит |
Автор: AriX 1.9.2005, 11:00 |
Mal Hack На другом форуме примерно разобрались в чем проблема: все зависит от сервера, т.е. захочет ли он отдавать часть запрошенного документа или нет. Вот например по-дефолту Апач 1.3.33 не хочет, а Апач 2.x отдает запрошенную часть :-/ А сервер, с которого мне нужно, стоит на 1.3.33.. Так что облом похоже ![]() |
Автор: matrlx 22.9.2005, 01:16 | ||
|
Автор: AriX 22.9.2005, 09:53 |
matrlx Не пойму... Этот код разве поможет вытащить часть страницы? |
Автор: matrlx 2.10.2005, 01:25 |
С помошью этого кодо можно вытащить всю страницу а потом уже используя шаблоны можно извлечь части страницы! Скажи что тебе конкретно надо получить со страницы? Какую инфу? На конкретном примере той страницы, которую те надо разкурочить! ![]() |
Автор: AriX 3.10.2005, 08:36 |
matrlx Всю страницу мне качать не нужно, это понятно как сделать. Нужна только определенная часть. Смотри начало топика. В принципе мы уже разобрались, в любом случае все зависит от настроек сервера. В моем случае, это сделать похоже не получиться. |
Автор: vpokorp 8.8.2008, 14:16 | ||||
А к то подскажет - как определить - какой там Апач стоит?
|
Автор: AriX 8.8.2008, 15:19 |
vpokorp, там нет Апача. Стоит вот этот сервер - http://0w.ru/httpd/ |
Автор: Anarki 8.8.2008, 22:11 |
Если не поддерживает HTTP RANGE, то никак. |