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

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

如何使用 BeautifulSoup 獲得與正則表達(dá)式相同的結(jié)果?

如何使用 BeautifulSoup 獲得與正則表達(dá)式相同的結(jié)果?

慕尼黑5688855 2023-04-11 15:32:01
我正在嘗試提取從urldata-src-mp3生成的屬性的所有值(它們是鏈接)。content1該鏈接包含在<a class="hwd_sound sound audio_play_button icon-volume-up ptr" title="Pronunciation for " data-src-mp3="https://www.collinsdictionary.com/sounds/hwd_sounds/EN-GB-W0037420.mp3" data-lang="en_GB"></a>.一種方法是使用正則表達(dá)式'data-src-mp3="(.*?)"'import requestssession = requests.Session()from bs4 import BeautifulSoupimport reheaders = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}url = 'https://www.collinsdictionary.com/dictionary/english-french/graduate'r = session.get(url, headers = headers)           soup = BeautifulSoup(r.content, 'html.parser')content1 = soup.select_one('.cB.cB-def.dictionary.biling').contentsoutput = re.findall('data-src-mp3="(.*?)"', str(content1))print(output)結(jié)果是['https://www.collinsdictionary.com/sounds/hwd_sounds/EN-GB-W0037420.mp3', 'https://www.collinsdictionary.com/sounds/hwd_sounds/FR-W0037420.mp3', 'https://www.collinsdictionary.com/sounds/hwd_sounds/FR-W0071410.mp3', 'https://www.collinsdictionary.com/sounds/hwd_sounds/fr_bachelier.mp3', 'https://www.collinsdictionary.com/sounds/hwd_sounds/63854.mp3']我想問(wèn)一下如何使用BeautifulSoup和結(jié)構(gòu)<a class="hwd_sound sound audio_play_button icon-volume-up ptr" title="Pronunciation for " data-src-mp3="https://www.collinsdictionary.com/sounds/hwd_sounds/EN-GB-W0037420.mp3" data-lang="en_GB"></a>來(lái)獲得相同的結(jié)果而無(wú)需循環(huán)。太感謝了!
查看完整描述

1 回答

?
BIG陽(yáng)

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á)式)要好得多。


查看完整回答
反對(duì) 回復(fù) 2023-04-11
  • 1 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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