我正在抓取一个网站,并想创建一个价格清单。
prices = soup.find_all("li", class_="price")
但是,这返回:
<li class="price">€13.99</li>,
<li class="price">€12.99</li>,
.....
如何仅提取价格?我尝试过
prices = soup.find_all("li", class_="price", text=True)
但是它不起作用。
我知道我可以手动浏览列表并提取文本,但这并不理想。
答案 0 :(得分:1)
假设内容不是动态添加的,看起来不是,那么我将使用.text
从使用select
返回的元素中提取
prices = [item.text for item in soup.select('li.price')]
答案 1 :(得分:0)
find_all()
返回元素列表。您需要对其进行迭代以获取每个element
,然后获取元素的text
。
prices = soup.find_all("li", class_="price", text=True)
for price in prices:
print(price.text)