没有递归的Python递归错误?

时间:2013-02-26 18:20:53

标签: python recursion

我是python的新手,我正在构建一个网络爬虫,用于测试/教育目的。我不使用任何递归函数,但我仍然得到'RuntimeError:超出最大递归深度'错误。我真的很困惑,有点觉得我错过了一些明显的东西,或者只是误解了一些东西。我是以某种方式递归,还是可能与我的大循环相关?我们的想法是抓取网页,直到您抓取10k页为止。

更新

最新代码在这里:http://pastebin.com/4v5GT7ft

Stack Trace就在这里:http://pastebin.com/9GzAxZM9

看起来我的问题是尝试在未正确编码的URL上调用str()。我已经尝试解码URL然后将它们转换为unicode,但我从来没有能够成功地做到这一点。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:2)

你给我们的代码实际上没有运行(它缺少所有import语句,并且它有缩进错误等等),它需要一个我们没有的JET数据库和第三个-party模块读取它,并且硬编码使用主目录中预先存在的目录。

我试图在http://pastebin.com/rCJriEu5(需要lxmlbs4 - 解决所有这些问题 - 如果您使用的是不同的解析库或BS3,我可以这样尝试)。

当我运行它时,它似乎工作。它完成了31.73%,还没有错误。即使我在文件的开头做sys.setrecusionlimit(50),它似乎仍然有效(到目前为止已完成3.67%)。

因此,代码中的任何错误显然都是代码中没有向我们展示的。