亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

蟒蛇美湯 iframe 文本提取

蟒蛇美湯 iframe 文本提取

喵喵時光機 2022-09-13 17:46:55
我是美麗湯的新手,我試圖從這個網站中提取一些原始數據,我做了解析。from urllib.request import urlopenfrom bs4 import BeautifulSouppath='https://www.esquire.com/entertainment/tv/g28380481/best-anime-2019/'f = urlopen(path)html = str(f.read())soup = BeautifulSoup(html, 'html.parser')txt = soup.find_all('iframe')我得到了這個bs4對象[<iframe allowfullscreen="true" data-src="//www.youtube.com/embed/6M7f41OJfcM?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/0glqBjvku84?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/YKJf876thxw?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/SdFgPGSmy0Y?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/Ie-bo3IulmY?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/ApLudqucq-s?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/FpRk3m3Y-Zg?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/J9tu253SOas?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/lCPf9SA4mgU?enablejsapi=1" frameborder="0"></iframe>, <iframe allowfullscreen="true" data-src="//www.youtube.com/embed/neqxQdpTyXE?enablejsapi=1" frameborder="0"></iframe>]現在我想從每個元素中提取網站,我已經嘗試了下面的代碼。我會知道要使用哪個美麗湯命令,而不是將每個元素替換為字符串a進行搜索。import retrailers=[]pattern='(www.+1)'for line in txt:  line=str(line)  trailers.append(re.search(pattern,line).group(0))
查看完整描述

1 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

這里不需要使用正則表達式。


一個更簡單的方法是使用美麗的湯元素的屬性,如:attrs


from urllib.request import urlopen

from bs4 import BeautifulSoup

path='https://www.esquire.com/entertainment/tv/g28380481/best-anime-2019/'

f = urlopen(path)

html = str(f.read())

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

txt = soup.find_all('iframe')


for element in txt:    

    print(element.attrs["data-src"][2:])

這會產生相同的結果:


www.youtube.com/embed/6M7f41OJfcM?enablejsapi=1

www.youtube.com/embed/0glqBjvku84?enablejsapi=1

www.youtube.com/embed/YKJf876thxw?enablejsapi=1

www.youtube.com/embed/SdFgPGSmy0Y?enablejsapi=1

www.youtube.com/embed/Ie-bo3IulmY?enablejsapi=1

www.youtube.com/embed/ApLudqucq-s?enablejsapi=1

www.youtube.com/embed/FpRk3m3Y-Zg?enablejsapi=1

www.youtube.com/embed/J9tu253SOas?enablejsapi=1

www.youtube.com/embed/lCPf9SA4mgU?enablejsapi=1

www.youtube.com/embed/neqxQdpTyXE?enablejsapi=1

您可以在此處閱讀有關如何處理屬性的更多信息:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#attributes


查看完整回答
反對 回復 2022-09-13
  • 1 回答
  • 0 關注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號