Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用BeautifulSoup读取具有相同属性的多个元标记内容?_Python_Beautifulsoup_Metadata - Fatal编程技术网

Python:使用BeautifulSoup读取具有相同属性的多个元标记内容?

Python:使用BeautifulSoup读取具有相同属性的多个元标记内容?,python,beautifulsoup,metadata,Python,Beautifulsoup,Metadata,目前我对python还比较陌生,所以我正在尝试使用BeautifulSoup 我的问题是: 我想通过python阅读youtube视频的视频标签。 前 我只能读第一个标签 以及: yttag = soup.findAll("meta", {"property":"og:video:tag"}) “og:video:tag”之后的所有内容都列出了,我只想要内容。 是否可以使用BeautifulSoup来读取具有相同名称/属性的多个元标记内容?使用: >html='' ... ... ...

目前我对python还比较陌生,所以我正在尝试使用BeautifulSoup

我的问题是: 我想通过python阅读youtube视频的视频标签。 前

我只能读第一个标签

以及:

yttag = soup.findAll("meta", {"property":"og:video:tag"})
“og:video:tag”之后的所有内容都列出了,我只想要内容。 是否可以使用BeautifulSoup来读取具有相同名称/属性的多个元标记内容?

使用:

>html=''
... 
...  
... 
... 
... '''
>>> 
>>>从bs4导入BeautifulSoup
>>>soup=BeautifulSoup(html,“lxml”)
>>>[tag['content']用于soup.findAll中的标记(“meta”,{“property”:“og:video:tag”}]
[‘官方’、‘预告片’、‘电影’、‘剪辑’]
#将标记元素映射到其内容属性
yturl = soup.find("meta", {"property":"og:video:tag"})['content']
yttag = soup.findAll("meta", {"property":"og:video:tag"})
>>> html = '''
... <meta property="og:video:tag" content="Official">
... <meta property="og:video:tag" content="Trailer"> 
... <meta property="og:video:tag" content="Movie">
... <meta property="og:video:tag" content="Clip">
... '''
>>> 
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(html, 'lxml')
>>> [tag['content'] for tag in soup.findAll("meta", {"property":"og:video:tag"})]
['Official', 'Trailer', 'Movie', 'Clip']
# maps Tag elements to their content attributes