Python模块"twill"——变量赋值时的HTML泛滥

2 投票
2 回答
544 浏览
提问于 2025-04-16 16:39

我正在用Python的Twill模块制作一个简单的命令行程序,用来从网站获取和解析信息(这听起来很普通)。我想用Twill的show()命令把HTML输出赋值给一个变量,这样我就可以用我的解析命令来处理这个页面。但是每次我把它赋值给一个变量...

htmlString = twill.commands.show()

我在命令行(还有IDLE)上看到一大堆HTML输出。这是为什么呢?我并不是想打印这个变量,附近也没有打印的命令。我只是想把它赋值以便后续处理。为什么赋值会导致打印发生呢?这并不是致命错误,只是非常非常不方便。我用的是Python 2.6,Twill 0.9,还有Ubuntu,不知道这是否有关系。

2 个回答

1

Twill 是个有点奇怪的工具,它会在终端上输出很多信息。造成这些信息被打印出来的原因不是因为变量赋值,而是因为 show() 这个方法。这个方法会直接打印输出,而不是把结果返回给你。

3

我建议使用 lxmlBeautifulSoup 来解析HTML,之前没接触过 twill。不过我看到你在调用 .show() 这个方法,可能这个方法里面有 print 语句。

撰写回答