18910140161

Python-检索Meta BS4元素的内容-堆栈溢出

顺晟科技

2022-10-18 13:39:07

133

我正在尝试检索包含标记元素的列表的内容。

例如,

列表包括以下内容:

list_titles = [tag, tag, tag]

其中每个标签由以下结构描述:

list_titles[i] = <meta content="first title" name="title"/>

我需要检索这些标签的标题。因此,我尝试了以下几点:

content_list = []
for title in list_title:
    content = title['content']
    content_list.append(content)

并且还尝试了以下操作:

for i, title in enumerate(list_title):
   test = list_title[i]
   content = test['content']

两者都给出错误' NoneType ' Object is not subscriptable '。获取每个BS4标签内容的正确方法是什么?


顺晟科技:

通过使用以下语法,

content 属性在每个meta上可用:

print(tag['content'])

请考虑以下示例代码片段:

from bs4 import BeautifulSoup

html = """
<meta content="first title" name="title 1"/>
<meta content="second title" name="title 2"/>
"""

soup = BeautifulSoup(html, 'html.parser')

for meta in soup.findAll('meta'):
    print(meta['content'])

这将打印

first title
second title
据我所知,

你的方法是正确的,尤其是第一个。因为您可以通过将元素视为字典来访问属性。最有可能的问题是您尝试检索的元素不存在,或者您没有使用正确的选择器。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航