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