Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 30, 2010 20:33:29

boris_blade
От:
Зарегистрирован: 2009-09-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с Beautiful Soup

Так какой же инструмент самый православный-то?



Офлайн

#2 Окт. 1, 2010 05:42:13

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

Проблемы с Beautiful Soup

очевидно оба: html5lib + lxml :)



Офлайн

#3 Окт. 1, 2010 05:46:18

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

Проблемы с Beautiful Soup

boris_blade
Погуглил и что-то не нашел примером как им парсит хтмл.
начните с этого:
import html5lib
from html5lib import sanitizer
parser = html5lib.HTMLParser(tree=html5lib.getTreeBuilder("lxml"),
tokenizer=sanitizer.HTMLSanitizer)
dom = parser.parse(...)



Офлайн

#4 Авг. 13, 2011 18:55:56

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблемы с Beautiful Soup

Есть питоновый код:

# -*- coding: utf-8 -*-
__author__ = 'Егор'
import urllib2
from BeautifulSoup import BeautifulSoup

class ParsePage():
def __init__(self, link):
self.link = link
page = urllib2.urlopen(self.link)
soup = BeautifulSoup(page)
p = soup.findAll('strong')
print p[4].parent
print p[5].parent.nextSibling

ex = ParsePage('http://www.profvibor.ru/node/1778')
Нужный кусок html:
<p><strong><font color="#009933" size="3">Пути получения профессии</font></strong></p> <p>ВУЗы.</p> <p><strong><font color="#009933" size="3">Родственные профессии</font></strong></p> <p>Маркетолог-аналитик, экономист.</p>
Вывод:
C:\Python27\python.exe C:/Users/Егор/PycharmProjects/test_parser/temp.py
<p><strong><font color="#009933" size="3">Пути получения профессии</font></strong></p>

Process finished with exit code 0
print p.parent.nextSibling должен вывести
<p>Маркетолог-аналитик, экономист.</p>
Почему не выводит? :(



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version