问题描述
我正在使用BeautifulSoup学习网页抓取。
尝试从HTML提取不同的元素,但是当我从meta标签提取数据时出现问题。 meta的列表如下图:
或slist6粘贴如下:
[<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>,<meta content="width=device-width,initial-scale=1" name="viewport"/>,<meta content="no-referrer" name="referrer"/>,<meta content="never" name="referrer"/>,<meta content="VPPXtECgUUeuATBacnqnCm4ydGO99reF-xgNklSbNbc" name="google-site-verification"/>,<meta content="034F16304017CA7DCF45D43850915323" name="msvalidate.01"/>,<meta content="" name="description"/>]
作为内容的属性在代码中有效,但对于名称无效。它显示Keyerror:名称,代码的结果如下图所示。 请问您如何获得名称属性的帮助? 谢谢。
解决方法
可以使用以下方法来检查元素方法name
中是否存在属性has_attr()
:
for meta in slist6:
if meta.has_attr('name'):
print(meta['name'])
else:
print('not exist')