使用漂亮的汤来获取html属性值

时间:2019-06-18 05:29:12

标签: python html beautifulsoup

我想做的是使用漂亮的汤来获取html属性的值。

我到目前为止有:

soup = BeautifulSoup(html, "html.parser")
print("data-sitekey=" + soup.find("div", {"class" : "data-sitekey"}))
return soup.find("div", {"class" : "data-sitekey"})

但这会返回“必须是str,而不是nulltype”

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您应该尝试以下操作

soup = BeautifulSoup(html, "html.parser")
print("data-sitekey=" + soup.find("div", attrs={"class" : "data-sitekey"}))
return soup.find("div", attrs={"class" : "data-sitekey"})

答案 1 :(得分:0)

我假设您的find()方法返回了None,所以您无法在第二行连接字符串。

>>> print('' + None)                                       
Traceback (most recent call last):                         
  File "<stdin>", line 1, in <module>                      
TypeError: can only concatenate str (not "NoneType") to str

这是我在Python 3.7中收到的错误消息
那不是汤的问题,您必须显式检查返回值。

如果不是这种情况,请提供更多信息(堆栈跟踪)