【发布时间】:2016-03-23 03:09:29
【问题描述】:
我整天都在尝试阅读和解析 car-part.com 上的一个页面,但遇到了麻烦。我正在使用 beautifulsoup,它始终返回递归错误。我最初认为这是由于 html 中的 4k 列表元素,所以我增加了递归限制,但这并没有解决它。我意识到它发生在每一页上,我无法弄清楚为什么它只发生在这个特定的网站上。
这是我得到的错误:
RecursionError:比较中超出了最大递归深度
在此之前虽然它不断重复
文件 "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py", 第 1195 行,在 decode_contents 中 格式化程序))文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py”, 第 1126 行,在解码中 indent_contents,eventual_encoding,格式化程序)文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py”, 第 1195 行,在 decode_contents 中 格式化程序))文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py”, 第 1126 行,在解码中 indent_contents,eventual_encoding,格式化程序)文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py”, 第 1195 行,在 decode_contents 中 格式化程序)) ...
问题是我不明白这个控制台读取是什么意思。站点是否在调用此文件,这就是递归错误?
我不再关心解析网站了,我已经获得了我需要的信息我只是想了解这里到底发生了什么;谁能给我解释一下?
在代码方面没有太多要发布的内容,任何对对象的调用都会返回递归错误。
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://car-part.com")
bsObj = BeautifulSoup(html.read(), "html.parser")
print(bsObj)
打印 bsObj 会返回错误,调用 bsObj.li 也可以,但 .title 和其他元素似乎可以工作。
【问题讨论】:
标签: python recursion beautifulsoup html-parsing