beautifulsoup "максимальная глубина рекурсии превышена при вызове объекта Python" - PullRequest
2 голосов
/ 09 февраля 2012

Я пытаюсь сделать следующее:

request = urllib2.Request(url=url, headers={ 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT' })
response = urllib2.urlopen(request)
HTML_response = response.read()
response.close()
return BeautifulSoup(HTML_response)

однако, на некоторых страницах (всегда одни и те же страницы, но не похоже, что заказ является проблемой) я получаю

Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
  File "/usr/local/lib/python2.7/dist-packages/BeautifulSoup.py", line 439, in __getnewargs__
    return (NavigableString.__str__(self),)
RuntimeError: maximum recursion depth exceeded while calling a Python object

, который существует, поэтому я не думаю, что except urllib2.HTTPError: поможет

1 Ответ

2 голосов
/ 09 февраля 2012
In [1]: import urllib2

In [2]: from BeautifulSoup import BeautifulSoup

In [3]: url = 'http://www.sparklebox.co.uk/topic/creative-arts/art-and-design/colouring-pages.html'

In [4]: request = urllib2.Request(url=url, headers={ 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT' })

In [5]: response = urllib2.urlopen(request)    
In [6]: HTML_response = response.read()    
In [7]: b1 = BeautifulSoup(HTML_response)    
In [8]: print type(b1)
<class 'BeautifulSoup.BeautifulSoup'>

Хорошо работает с BeautifulSoup 3.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...