LINUX.ORG.RU

Python. Определить вес странички и встроенных элементов


0

0

http://www.linux.org.ru/jump-message.jsp?msgid=1166327 окуда всё пошло:)

Так как ничего подходящего не нашёл, решил написать сам, единственно что

просто не знаю с чего начать:(

По идее всё должно быть просто, взять страничку определить размер (Content-Length), размер встроенных элементов (рисунков и тд.) и получть результат.всё.

Буду очень благодарен если кто подскажет с чего начать и по какому пути идти что сделать это на Питоне.


> По идее всё должно быть просто, взять страничку определить размер
> (Content-Length), размер встроенных элементов (рисунков и тд.) и
> получть результат.всё.
>
> Буду очень благодарен если кто подскажет с чего начать и по какому
> пути идти что сделать это на Питоне.

Распарсить хтмль для начала, дабы составить список этих самых
встроенных элементов.

Как его парсить - это другой вопрос. Если хочется коротко но тормозно,
то регэкспами выдирать теги img, object, и что там еще в стандарте
перечислено. Или же пиши полноценный парсер (как - гугль расскажет).

int19h ★★★★
()
Ответ на: комментарий от int19h

Спасибо за ответ!

Сейчас запнулся но вот в чём: будет у меня список этих самых встроенных элементов, как у них спросить их размер?

то есть есть url объекта чем узнать его размер, чувствую что туплю но всё-же подскажите плиз...

DenOk
() автор топика
Ответ на: комментарий от DenOk

В самом простейшем случае, Content-Length возвращается в ответ на запрос HEAD. По идее, можно воспользоваться urllib2 для отсылки таких запросов. В более сложных случаях, заголовок Content-Length может не указываться вообще, и пока не скачаешь - не узнаешь.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от watashiwa_daredeska

f = urllib2.urlopen('http://www.example.com')

print f.info()

так он возвращяет Content-Length не всегда и как получить размер рисунков например? Здесь для меня самое (!!!) трудное...

> Content-Length возвращается в ответ на запрос HEAD как сделать этот запрос? (!!!)

> Для начала должно хватить модуля htmllib. Какие методы помогут тут составить списов встроенных объектов?

DenOk
() автор топика
Ответ на: комментарий от DenOk

> так он возвращяет Content-Length не всегда и как получить размер
> рисунков например? Здесь для меня самое (!!!) трудное...

Размер рисунков и вообще всего, что отдается по HTTP - это и есть
Content-Length. Если сервер тебе не счел нужным его сообщить -
выкачивать файл до конца и тогда уже смотреть, сколько скачалось.

> > Content-Length возвращается в ответ на запрос HEAD
> как сделать этот запрос? (!!!)

Не знаю, какие там есть либы, но можно и просто ручками. Достать HTTP
RFC и почитать про протокол.

> Какие методы помогут тут составить списов встроенных объектов?

Там всего их штук семь. Будь добр, пойди и почитай документацию. Что
читать - тебе уже здесь дали, но повторюсь: спецификация HTML, RFC2616
(HTTP/1.1), и описание модулей urllib2 и htmllib. Будут _конкретные_
вопросы по прочитанному - пожалуйста. Но за тебя это писать никто не
будет.

int19h ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.