Python 如何从“中提取文本”;数据位于;?

Python 如何从“中提取文本”;数据位于;?,python,html,web-scraping,Python,Html,Web Scraping,我正试图在丝芙兰网站上搜索香水页面。当我尝试获取品牌名称时,我在访问“data at”之后的文本时遇到了问题,因此我尝试了以下内容,但我不确定为什么它不起作用 for container in perfume_containers: # The brand brand = container.find('span', attrs={'class':'css-ktoumz'})['data-at'] brands.append(brand) 请帮忙 如果您想要使用类筛选器或任何其

我正试图在丝芙兰网站上搜索香水页面。当我尝试获取品牌名称时,我在访问“data at”之后的文本时遇到了问题,因此我尝试了以下内容,但我不确定为什么它不起作用

for container in perfume_containers:
# The brand
   brand = container.find('span', attrs={'class':'css-ktoumz'})['data-at']
   brands.append(brand)


请帮忙

如果您想要使用类筛选器或任何其他筛选器成功选择的任何标记的值,则假设您使用的是
BeautifulSoup
,则可以使用
.text
属性访问此标记的值

范例

from bs4 import BeautifulSoup
import requests

url = "https://www.sephora.com/shop/perfume"
url = (url)

page = requests.get(url)

soup = BeautifulSoup(page.text, "lxml")

print(soup.find('span', attrs={'class':'css-ktoumz'}).get('data-at')) # will print sku_item_brand
print(soup.find('span', attrs={'class':'css-ktoumz'}).text) # will print CHANEL


谢谢你,卡琳!成功了!那么这是否意味着我应该使用.get('data-at')而不是使用['data-at']来访问数据?另外,在定义变量soup时,我使用了“soup=beautifulsou(source.content,'html.parser')”而不是您定义它的方式,这是另一个使我无法工作的原因吗?很抱歉,使用
。get
提供与
[]相同的输出
但是
.get
如果没有这样的值,则返回空,而
[]
访问器会引发异常,因此在这种情况下我更喜欢
.get
。我总是使用xml解析器,您可以检查文档中每个解析器生成的不同解析树及其优缺点,也许您使用的解析器会产生不同的结果,但我不确定它是否会错过这样的类过滤器。大多数情况下,由于缺少值,刮取会给您带来很多错误,我建议您使用
ipdb
之类的调试器来确保您理解错误所在,明白了吗!非常感谢你,Kareem!