每次程序在第三次运行此循环时终止:
for component_ID in self.component_IDs:
print component_ID
fundamentals(component_ID)
这是我的基础类(class):
class fundamentals(download):
def __init__(self, ID):
self.browser = spynner.Browser()
self.url = self.getURL(ID)
self.browser.load(self.url)
html = self.browser.html
print "1"
soup = BeautifulSoup(html)
print "2"
self.count = self.get_count(soup)
self.currency = self.get_currency(soup)
self.fundamentals = self.get_fundamentals_pages(soup)
self.write_fundamentals_to_db(id, self.currency, self.count,
self.fundamentals)
程序总是在 soup = Beautiful(Soup) 第 3 次执行时停止。 这与提供的 component_ID 无关。
component_ID 的长度为 30,当我在索引 2 处开始循环时,它也会运行两次并在第 3 次运行时停止。
这种奇怪的行为是如何发生的,下次我该如何预防?
更多信息:
此外,程序在第 3 次打印 1 后终止,没有出现错误消息。我不确定现在该做什么。
当我只实现了.close(),但是调用了上面的循环,它在循环一次后就停止了。当我将实例保存在属性 self.component_ID 中时,循环在循环两次后中断。
编辑: 我通过关闭 spynner.browser 并更改循环的工作方式解决了这个问题的先前版本。我不是仅仅调用类,而是构建一个列表并将实例附加到它。
请您参考如下方法:
关闭 spynner.browser 并更改循环的工作方式。不要仅仅调用类,而是构建一个列表并将实例附加到它。
