Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2011 20:53:00

FewG
От:
Зарегистрирован: 2010-11-07
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

Такой вопрос, тыпаюсь отпарсить хтмл страницу. Пока страница так сказать “тестовая” т.е маленькая и не изобилует кодом, всё работает, но когда начинаю парсить более-менее весомые сайты отказывается работать, мол кривые стартовые теги.

Код самого парсера:

from urllib import request
from html.parser import HTMLParser, HTMLParseError

URL = "http://mds.podfm.ru/150/"

class MDSParser(HTMLParser):
inHeading = False

def handle_starttag(self, tag, attrs):
if tag == "h1":
self.inHeading = True

def handle_data(self, data):
if self.inHeading:
print (data)

def handle_endtag(self, tag):
if tag == "h1":
self.inHeading = False


def openPage(URL):
print("[-] Trying to open " + URL)
try:
quellcode = request.urlopen(URL).read()
print("[+] Successful")

return str(quellcode)
except:
print("[-] Error while opening URL")

def main():
toParse = openPage(URL)

# f = open("qc.txt".encode("utf-8"), "wb")
# f.write(toParse)
# f.close()

podcast = MDSParser()
try:
podcast.feed(toParse)
podcast.close()
except HTMLParseError as e:
print("[-] Error while parsing: " + str(e))

if __name__ == '__main__':
main()
Ошибка:

malformed start tag, at line 1, column 430
А там => xb0. "\xd
Вообщем хезе. :rolleyes:



Офлайн

#2 Июль 12, 2011 22:36:45

@br@c@d@br
От: Кострома
Зарегистрирован: 2010-08-31
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

Посмотрите на готовые парсеры, lxml например (http://lxml.de/)…



Офлайн

#3 Июль 13, 2011 13:42:11

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

html5lib + lxml



Офлайн

#4 Июль 13, 2011 21:24:03

FewG
От:
Зарегистрирован: 2010-11-07
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

html5lib с 3 версией питона не работает.



Офлайн

#5 Июль 14, 2011 00:06:11

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

FewG
html5lib с 3 версией питона не работает.
А если найду?:-)



Офлайн

#6 Июль 14, 2011 00:21:23

FewG
От:
Зарегистрирован: 2010-11-07
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер ХТМЛ

Александр Кошелев
А если найду?:-)
Да я и сам нашёл адаптированный клон под тройку, буду пробывать лисопед изобрести :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version