1 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以在使用時(shí)組合選擇器.select:
mp3s = [tag.attrs['data-src-mp3'] for tag in soup.select('.cB.cB-def.dictionary.biling [data-src-mp3]')]
或者
mp3s = list(map(lambda tag: tag.attrs['data-src-mp3'],
soup.select('.cB.cB-def.dictionary.biling [data-src-mp3]')))
[data-src-mp3]僅選擇具有data-src-mp3屬性(具有任何值)的元素。
'data-src-mp3'在一個(gè)地方做一個(gè)小改動(dòng):
mp3_tag = 'data-src-mp3'
mp3s = list(map(lambda tag: tag.attrs[mp3_tag],
soup.select('.cB.cB-def.dictionary.biling [{}]'.format(mp3_tag))))
這個(gè)解決方案乍一看可能更嚇人,但比依賴錯(cuò)誤的工具(例如解析 HTML 時(shí)的正則表達(dá)式)要好得多。
添加回答
舉報(bào)