Разбор ответа Python с использованием httplib - PullRequest
1 голос
/ 02 февраля 2010

После подключения к сокету и получения ответа с помощью .read (), как мне проанализировать входной поток и прочитать строки?

Я вижу, что данные возвращаются без CRLF

<html><head><title>Apache Tomcat/6.0.16 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /index.html</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/index.html</u></p><p><b>description</b> <u>The requested resource (/index.html) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.22</h3></body></html>

Ответы [ 2 ]

3 голосов
/ 02 февраля 2010

Вы должны разобрать HTML. В Python есть несколько способов парсинга HTML - один из них - встроенный модуль HTMLParser . Другой, и, вероятно, лучший способ - это сторонний модуль BeautifulSoup .

Многие другие вопросы, связанные с обработкой HTML, описаны в этой хорошей статье . Вы также можете прочитать соответствующую главу (бесплатная онлайн) книга о погружении в Python.

0 голосов
/ 02 февраля 2010

Используйте анализатор HTML. Beautiful Soup кажется популярным.

...