第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在列表中查找字符串

在列表中查找字符串

溫溫醬 2024-01-22 14:59:27
所以非??ㄗ∈紫任业?HTML 很難。有時(shí)它會丟失數(shù)據(jù),如下所示。我的目的是在強(qiáng)之后獲取文本(很好,1:56:5,1:56.5 等等)。由于數(shù)據(jù)很混亂,我可能需要嵌套的 if 語句,因此當(dāng)我構(gòu)造列表時(shí),我的數(shù)據(jù)是 true (參見下面的代碼)缺少數(shù)據(jù) HTML<td><strong>Track Rating:</strong> GOOD</td><td></td><td><strong>Gross Time:</strong> 1:56:5</td><td><strong>Mile Rate:</strong> 1:56:5</td>普通 HTML<td><strong>Track Rating:</strong> GOOD</td><td><strong>Gross Time:</strong> 2:29:6</td><td><strong>Mile Rate:</strong> 1:58:6</td><td><strong>Lead Time:</strong> 30.3</td>我的代碼在下面,我想從 if 語句中提取數(shù)據(jù),但我卡住了。任何幫助表示贊賞。我想做的是在這里收集 GOOD 并將其存儲在 track rating 中,并對我抓取的每個(gè)跟蹤評級執(zhí)行此操作- 如果它不存在,我想將其存儲為空白。tableoftimes = race.find('table', class_='raceTimes')                for row in tableoftimes.find_all('tr'):                    string23 = [td.get_text() for td in row.find_all('td')]                    matching = [s for s in string23 if "Track Rating: " in s]                    if matching:                        trackrating = matching (#want to split to get after : but wont work in list)                    else:                        trackrating = ''
查看完整描述

2 回答

?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您有BS4 4.7.1或更高版本,您可以嘗試以下代碼。


嘗試以下CSS選擇器,它將識別td標(biāo)簽下的所有強(qiáng)標(biāo)簽conatins : ,然后獲取父標(biāo)簽td,然后用于contents[-1]獲取值


代碼:


html='''<td><strong>Track Rating:</strong> GOOD</td>

<td></td>

<td><strong>Gross Time:</strong> 1:56:5</td>

<td><strong>Mile Rate:</strong> 1:56:5</td>'''


soup=BeautifulSoup(html,'html.parser')


for item in soup.select('td>strong:contains(":")'):

    print(item.parent.contents[-1].strip())

輸出:


GOOD

1:56:5

1:56:5

next_element或者,您也可以在找到強(qiáng)標(biāo)簽后使用。第next_element一個(gè)是強(qiáng)標(biāo)簽,第二個(gè)next_element打印強(qiáng)標(biāo)簽后的值


html='''<td><strong>Track Rating:</strong> GOOD</td>

<td></td>

<td><strong>Gross Time:</strong> 1:56:5</td>

<td><strong>Mile Rate:</strong> 1:56:5</td>'''


soup=BeautifulSoup(html,'html.parser')


for item in soup.select('td>strong:contains(":")'):

    print(item.next_element.next_element.strip())

輸出:


GOOD

1:56:5

1:56:5


查看完整回答
反對 回復(fù) 2024-01-22
?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

嘗試使用。


from bs4 import BeautifulSoup


html = """<td><strong>Track Rating:</strong> GOOD</td>

<td></td>

<td><strong>Gross Time:</strong> 1:56:5</td>

<td><strong>Mile Rate:</strong> 1:56:5</td>"""


soup = BeautifulSoup(html, 'html.parser')

for td in soup.find_all('td'):

    if td.find('strong'):         #Check for `strong` tag 

        if td.strong.text == 'Track Rating:':

            print(td.find(text=True, recursive=False))   #Get direct text

輸出:


GOOD


查看完整回答
反對 回復(fù) 2024-01-22
  • 2 回答
  • 0 關(guān)注
  • 201 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號