Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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.select获取元标记值_Python_Beautifulsoup - Fatal编程技术网

Python 如何使用BeautifulSoup.select获取元标记值

Python 如何使用BeautifulSoup.select获取元标记值,python,beautifulsoup,Python,Beautifulsoup,我想从一个html标记中提取日期。我在用蟒蛇和漂亮的汤 <meta name="Email" content="info@info.de"> <meta name="Date" content="2021-04-28T20:35:00+02:00"> <meta name="title" content="Tris is tite"> 但是

我想从一个html标记中提取日期。我在用蟒蛇和漂亮的汤

<meta name="Email" content="info@info.de">
<meta name="Date" content="2021-04-28T20:35:00+02:00">
<meta name="title" content="Tris is tite">
但是,是否可以只使用一个css选择器,只使用标记值? 比如,像这样的事情

tag = "meta['Date']['content']" # or something like this?
date = soup.select(tag)
print(date)
2021-04-28T20:35:00+02:00
PS 我必须使用
汤。选择
汤。查找(…)
汤。选择一个对我不起作用。

所以只有
汤。选择
有效

你就快到了。您似乎混淆了属性名称。尝试:

tag = "meta[content]" 
date = soup.select_one(tag)
print(date.get('content'))
输出:

2021-04-28T20:35:00+02:00
编辑: 将标记行更改为:

tag = "meta[content][name='Date']" 
您可以简单地使用:

>>> from bs4 import BeautifulSoup
>>> content = """<meta name="Date" content="2021-04-28T20:35:00+02:00"> """
>>> soup = BeautifulSoup(content, 'html.parser')
>>> soup.find("meta", {"name": "Date"}).attrs['content']
>>> '2021-04-28T20:35:00+02:00'

我已经更新了我的问题,也许我应该早些时候指出,有很多元标记,我只是想要日期tag@taga请参阅编辑。我必须使用soup.select、soup.find(…)和soup.select。其中一个对我不起作用。因此,只有soup.select有效,我正在用soup.select寻找解决方案我更新了答案。
>>> from bs4 import BeautifulSoup
>>> content = """<meta name="Date" content="2021-04-28T20:35:00+02:00"> """
>>> soup = BeautifulSoup(content, 'html.parser')
>>> soup.find("meta", {"name": "Date"}).attrs['content']
>>> '2021-04-28T20:35:00+02:00'
>>> for item in soup.select("meta"):
...     print(item.attrs.get('content'))