我试图只显示标签内的文本,例如:
<span class="listing-row__price ">$71,996</span>
我只想展示
“71,996 美元”
我的代码是:
import requests
from bs4 import BeautifulSoup
from csv import writer
response = requests.get('https://www.cars.com/for-sale/searchresults.action/?mdId=21811&mkId=20024&page=1&perPage=100&rd=99999&searchSource=PAGINATION&showMore=false&sort=relevance&stkTypId=28880&zc=11209')
soup = BeautifulSoup(response.text, 'html.parser')
cars = soup.find_all('span', attrs={'class': 'listing-row__price'})
print(cars)
如何从标签中提取文本?
原文由 R K 发布,翻译遵循 CC BY-SA 4.0 许可协议
要获取标签中的文本,有几种方法,
a) 使用标签的
.text
属性。输出
b) _使用 get_text()_
c) 如果 _标签内只有那个字符串_,你也可以使用这些选项
.string
.contents[0]
next(tag.children)
next(tag.strings)
next(tag.stripped_strings)
IE。
输出:
笔记:
.text
和.string
不一样。如果标签中还有其他元素,.string
返回None
,而 .text 将返回标签内的文本。产出