Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2007 15:50:36

Yurietc
От:
Зарегистрирован: 2007-07-18
Сообщения: 112
Репутация: +  0  -
Профиль   Отправить e-mail  

Parsing HTML, BeautifulSoup

Привет всем.
Кто гуру в BeautifulSoup, подскажите с чем связана ошибка :

>>> from BeautifulSoup import BeautifulSoup as BS
>>> st = '<html><body><p>1</p><p>2</p><p>3</p></body></html>'
>>> so = BS(st)
>>> i = 0
>>> for items in so('p'):
print so('p')[i].string
i = i + 1

Traceback (most recent call last):
File "<pyshell#73>", line 2, in <module>
print so('p')[i].string
RuntimeError: maximum recursion depth exceeded

хотя если так, все работает :

>>> so('p')[0].string
u'1'
>>> so('p')[1].string
u'2'
>>> so('p')[2].string
u'3'

И еще, как получить параметры, заданные в тэге ?
Например с “<p align = ”center“>” получить “center”.



Офлайн

#2 Авг. 10, 2007 16:25:58

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Parsing HTML, BeautifulSoup

Странно циклы пишешь…

>>> from BeautifulSoup import BeautifulSoup as BS

>>> html = ‘<html><body><p>1</p><p>2</p><p>3</p></body></html>’

>>> soup = BS(html)

>>> for item in soup('p'):
…: print item.string
…:
1
2
3



Офлайн

#3 Авг. 10, 2007 16:48:36

Yurietc
От:
Зарегистрирован: 2007-07-18
Сообщения: 112
Репутация: +  0  -
Профиль   Отправить e-mail  

Parsing HTML, BeautifulSoup

Мне становится страшно :

from BeautifulSoup import BeautifulSoup as BS
>>> html = ‘<html><body><p>1</p><p>2</p><p>3</p></body></html>’
>>> soup = BS(html)
>>> for item in soup('p'):
print item.string

Traceback (most recent call last):
File “<pyshell#168>”, line 2, in <module>
print item.string
RuntimeError: maximum recursion depth exceeded


P.S. А насчет странности цикла - исправлюсь.



Офлайн

#4 Авг. 10, 2007 17:17:19

Yurietc
От:
Зарегистрирован: 2007-07-18
Сообщения: 112
Репутация: +  0  -
Профиль   Отправить e-mail  

Parsing HTML, BeautifulSoup

Я в панике - есть разные версии BeautifulSoup. Одна из них выдает еще такую ошибку :

from BeautifulSoup import BeautifulSoup as BS
>>> html = ‘<html><body><p>1</p><p>2</p><p>3</p></body></html>’
>>> soup = BS(html)
>>> for item in soup('p'):
print item.string

Traceback (most recent call last):
File “<pyshell#185>”, line 2, in <module>
print item.string
File “C:\Python25\lib\idlelib\rpc.py”, line 597, in __call__
value = self.sockio.remotecall(self.oid, self.name, args, kwargs)
File “C:\Python25\lib\idlelib\rpc.py”, line 210, in remotecall
seq = self.asynccall(oid, methodname, args, kwargs)
File “C:\Python25\lib\idlelib\rpc.py”, line 225, in asynccall
self.putmessage((seq, request))
File “C:\Python25\lib\idlelib\rpc.py”, line 324, in putmessage
s = pickle.dumps(message)
File “C:\Python25\lib\copy_reg.py”, line 70, in _reduce_ex
state = base(self)
File “C:\Python25\BeautifulSoup.py”, line 358, in __unicode__
return __str__(self, None)
NameError: global name ‘__str__’ is not defined


Где взять наилучшую версию для python 2.5.1 под винду ?
crummy.com упал и встать не может.



Отредактировано (Авг. 10, 2007 17:21:20)

Офлайн

#5 Авг. 13, 2007 14:08:21

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version