from bs4 import BeautifulSoup
import requests as r
d='https://coreyms.com'
da=r.get(d).text
print(da)
corey=BeautifulSoup(da,'lxml')
print(corey.prettify())
for article in corey.find_all('article'):
hd=article.h2.a.text
print(hd)
summ=article.find('div',class_='entry-content').p.text
print(des)
vid=article.find('iframe',class_="youtube-player")["src"] #upon inspection, this line of code is not running correctly in the loop. Am i missing something?
splt_vd_link=vid.split('/')[4]
splt_vd_link=splt_vd_link.split('?')[0]
y_link=f'https:youtube.com/watch?v={splt_vd_link}'
print(y_link)
print()
我正在學習如何通過遵循 YouTube 教程來抓取網頁。我的代碼行與教程中顯示的完全相同,但在我運行時回傳錯誤。我完全迷失了
uj5u.com熱心網友回復:
您的第一個問題是列印不存在的變數print(des),第二件事是并非<article>您嘗試廢棄的頁面上的每個標簽都包含<iframe>youtube 鏈接,因此在這種情況下您需要跳過回圈迭代:
if vid is None:
continue
完整的作業代碼:
from bs4 import BeautifulSoup
import requests as r
d='https://coreyms.com'
da=r.get(d).text
print(da)
corey=BeautifulSoup(da,'lxml')
print(corey.prettify())
for article in corey.find_all('article'):
vid=article.find('iframe',class_="youtube-player")
if vid is None:
continue
vid = vid["src"]
hd=article.h2.a.text
print(hd)
summ=article.find('div',class_='entry-content').p.text
splt_vd_link=vid.split('/')[4]
splt_vd_link=splt_vd_link.split('?')[0]
y_link=f'https:youtube.com/watch?v={splt_vd_link}'
print(y_link)
print()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/347509.html
