soup.find() 在 BeautifulSoup 中给出什么类型的输出?

What type of output does soup.find() give in BeautifulSoup?

我正在查看 Taylor Swift 的歌曲 Blank Space 的 link。我试图隔离视图的数量。但我似乎无法将其用作数字。

就是这样 returns:

Taylor Swift - Blank Space - YouTube
[u'721,891,621']

这不是一个真正的数字,因为如果我加 1,我会得到这个错误:

print pizza[0].contents +1
TypeError: can only concatenate list (not "int") to list

这是代码。

from bs4 import BeautifulSoup
import urllib2

url="https://www.youtube.com/watch?v=e-ORhEE9VVg"
page=urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
print unicode(soup.title.string)


pizza= soup.find_all("div",{"class","watch-view-count"})
print pizza[0].contents

pizza[0].contents 是一个列表。它直接在您遇到的异常中说出来。这可以通过检查 type(pizza[0].contents)

来验证

如果您尝试使用列表的第一个元素,请像 pizza 一样使用索引器:pizza[0].contents[0]。您可以通过检查 type(pizza[0].contents[0])

来验证此元素的类型

如果您需要一个整数,您可以在之后进行适当的转换。 There are several methods to convert your text to an integer when it has commas for thousands separators.