3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試使用 find_all 來獲取結(jié)果列表。find 只返回它找到的第一件事。嘗試在 li 上查找所有內(nèi)容

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用更快的類選擇器來獲取父級(jí) ol ,然后使用 nth-of-type 來隔離特定行:
import requests
from bs4 import BeautifulSoup as bs
r = requests.get('https://www.serenataflowers.com/pollennation/love-text-messages/')
soup = bs(r.content, 'lxml')
line_number = 2
print(soup.select_one(f'.simple-list li:nth-of-type({line_number})').text)
如果在某個(gè)時(shí)候想要所有行但值得了解nth-of-type和相關(guān)技巧,則索引整個(gè)列表會(huì)更快。

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
要獲取每個(gè)引用中的文本列表,請(qǐng)使用您已經(jīng)隔離findAll()的塊上的方法。ol
ol = soup.find('ol')
messages = [msg.text for msg in ol.findAll('li')] # this goes through and isolates the text of each message
現(xiàn)在您可以通過它們的索引訪問消息。請(qǐng)記住,列表的索引為 0,這意味著項(xiàng)目 1 實(shí)際上 = 0。
print(messages[0]) # Actually the first message
# output: Meeting you was the best day of my life.
添加回答
舉報(bào)