Python模块"twill"——变量赋值时的HTML泛滥
我正在用Python的Twill模块制作一个简单的命令行程序,用来从网站获取和解析信息(这听起来很普通)。我想用Twill的show()命令把HTML输出赋值给一个变量,这样我就可以用我的解析命令来处理这个页面。但是每次我把它赋值给一个变量...
htmlString = twill.commands.show()
我在命令行(还有IDLE)上看到一大堆HTML输出。这是为什么呢?我并不是想打印这个变量,附近也没有打印的命令。我只是想把它赋值以便后续处理。为什么赋值会导致打印发生呢?这并不是致命错误,只是非常非常不方便。我用的是Python 2.6,Twill 0.9,还有Ubuntu,不知道这是否有关系。
2 个回答
1
Twill 是个有点奇怪的工具,它会在终端上输出很多信息。造成这些信息被打印出来的原因不是因为变量赋值,而是因为 show()
这个方法。这个方法会直接打印输出,而不是把结果返回给你。
3
我建议使用 lxml
或 BeautifulSoup
来解析HTML,之前没接触过 twill
。不过我看到你在调用 .show()
这个方法,可能这个方法里面有 print
语句。