如果两个span具有相同的类,如何从bs4.BeautifulSoup字符串中获取文本


data = "Purchase requests: <span class="market_commodity_orders_header_promot">6008067</span><br>Start               price: <span class="market_commodity_orders_header_promote">15,84 pуб.</span>"
sosoup = BeautifulSoup(data, "html.parser")
ququotes = sosoup.find_all('span', class_="market_commodity_orders_header_promote")
print(ququotes)

此代码返回

[<span class="market_commodity_orders_header_promote">6007813</span>, <span class="market_commodity_orders_header_promote">15,82 pуб.</span>]

如果我尝试

ququotes = sosoup.find('span', class_="market_commodity_orders_header_promote").get_text()

它只还给我第一个号码,如何获得第二个号码?

试试这个:

ququotes = [i.get_text() for i in sosoup.find_all('span', class_="market_commodity_orders_header_promote")]

f = sosoup.find_all('span', class_="market_commodity_orders_header_promote")[0].get_text()
s = sosoup.find_all('span', class_="market_commodity_orders_header_promote")[1].get_text()

有很多方法,按索引选择:

sosoup.find_all('span', class_="market_commodity_orders_header_promote")[1].text

查找第一个及其下一个<span>:

sosoup.find('span', class_="market_commodity_orders_header_promote").find_next('span').text

或者使用css selectors和下一个同级(~(:

sosoup.select_one('span.market_commodity_orders_header_promote ~ span').text

最新更新