我創(chuàng)建了一個程序,它將抓取 Bing Newsfeed 并分析內(nèi)容并將標題、摘要和新聞鏈接通過電子郵件發(fā)送給我。到目前為止,我已經(jīng)能夠使用 BeautifulSoup 正確地獲得所有這些。我還想通過包含顯示在必應(yīng)新聞源頁面中的新聞圖像來改進我的程序。我無法獲取圖像源鏈接,因為來源似乎不同。from bs4 import BeautifulSoupimport requestssource = requests.get(https://www.bing.com/news?q=Technology&cf=intr&FORM=NWRFSH).textsoup = BeautifulSoup(source, "html.parser")for image in soup.find_all("div", class_="image right"): print(image.img)如果我運行上面的代碼,它會打印出一些對我來說沒有多大意義的奇怪的東西。這是一個例子:<img class="rms_img" height="132" id="emb249968768" src="/th?id=ON.B139539B9DC398104440D89FAFB6F0C2&pid=News&w=234&h=132&c=14&rs=2&qlt=90" width="234"/>所有其他的img標簽也是這樣。如您所見,此處的 data-src 并不適合獲取我在發(fā)送電子郵件時可以使用的圖像鏈接。任何人都可以查看該網(wǎng)站(從我的代碼中)并檢查一下,看看我可能做錯了什么,或者在發(fā)送電子郵件時如何以干凈且可用的方式獲取所有圖像鏈接?非常感謝。
1 回答

手掌心
TA貢獻1942條經(jīng)驗 獲得超3個贊
img 標簽的 src 屬性是完全可以的,這正是你在大多數(shù)網(wǎng)站上都能找到的。它是具有絕對路徑(以正斜杠開頭的路徑)的相對 url(沒有“方案”或“域名”部分),因此它是客戶端(在這種情況下是您的代碼)重建完整絕對路徑的責任url 使用與初始請求相同的方案和域名以及來自 img 標簽的路徑 - 在您的示例中,最終結(jié)果應(yīng)該類似于“ https://www.bing.com/th?id= ON.B139539B9DC398104440D89FAFB6F0C2&pid=News&w=234&h=132&c=14&rs=2&qlt=90 "(確實指向圖像)。
注意:不要嘗試自己將 url 解析為組件,只需使用 stdlib 的urllib.parse
模塊即可。
添加回答
舉報
0/150
提交
取消