Python 如何使用BeautifulSoup从HTML div标记文件中提取文本?

Python 如何使用BeautifulSoup从HTML div标记文件中提取文本?,python,django,web,Python,Django,Web,我的python代码如下所示: 正如您从上面的代码片段中所看到的,我试图提取所有文本,但都出现了一个错误,一个也没有。请根据Beautiful组解决此问题,find\u all返回元素列表。因此,您正在列表上调用price.get_text(),这会导致错误,因为该方法仅由单个元素实例拥有 AttributeError:ResultSet对象没有属性“get_text”。你是 可能将元素列表视为单个元素。是吗 要调用find()时,请调用find_all() 错误消息提示您希望对单个元素而不是集

我的python代码如下所示:


正如您从上面的代码片段中所看到的,我试图提取所有文本,但都出现了一个错误,一个也没有。请根据Beautiful组解决此问题,
find\u all
返回元素列表。因此,您正在列表上调用
price.get_text()
,这会导致错误,因为该方法仅由单个元素实例拥有

AttributeError:ResultSet对象没有属性“get_text”。你是 可能将元素列表视为单个元素。是吗 要调用find()时,请调用find_all()

错误消息提示您希望对单个元素而不是集合调用此方法

如果我们打印出您的
price
变量,我们会得到以下结果:

<div class="_30jeq3 _1_WHN1">₹15,499</div>
<div class="_30jeq3 _1_WHN1">₹13,499</div>
<div class="_30jeq3 _1_WHN1">₹15,499</div>
...
这将为您提供以下列表

['₹15,499', '₹13,499', '₹15,499', '₹13,499', '₹19,999', '₹29,999', '₹29,999', '₹7,499', '₹7,499', '₹9,999', '₹8,999', '₹7,999', '₹7,999', '₹9,999', '₹8,999', '₹16,999', '₹16,999', '₹14,999', '₹14,999', '₹11,999', '₹8,999', '₹8,999', '₹12,999', '₹11,999']

多谢各位
price_elements = soup.find_all("div",class_="_30jeq3 _1_WHN1")
prices_text = [p.get_text() for p in price_elements]
['₹15,499', '₹13,499', '₹15,499', '₹13,499', '₹19,999', '₹29,999', '₹29,999', '₹7,499', '₹7,499', '₹9,999', '₹8,999', '₹7,999', '₹7,999', '₹9,999', '₹8,999', '₹16,999', '₹16,999', '₹14,999', '₹14,999', '₹11,999', '₹8,999', '₹8,999', '₹12,999', '₹11,999']