如何在beautifulsoup中获得名称的价值

问题描述

我正在使用BeautifulSoup学习网页抓取。

尝试从HTML提取不同的元素,但是当我从meta标签提取数据时出现问题。 meta的列表如下图:

enter image description here

或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:名称,代码的结果如下图所示。 请问您如何获得名称属性的帮助? 谢谢。

enter image description here

enter image description here

enter image description here

解决方法

可以使用以下方法来检查元素方法name中是否存在属性has_attr()

for meta in slist6:
    if meta.has_attr('name'):
        print(meta['name'])
    else:
        print('not exist')

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...