Python 如何从Bing/Google新闻源解析并获取清晰的图像源?

Python 如何从Bing/Google新闻源解析并获取清晰的图像源?,python,html,beautifulsoup,Python,Html,Beautifulsoup,我已经创建了一个程序,将抓取Bing新闻提要,分析内容,并通过电子邮件向我发送标题、摘要和新闻链接。到目前为止,我已经能够使用BeautifulSoup正确地获得所有这些。我想通过在Bing新闻提要页面中显示新闻的图片来改进我的程序。我很难获得图像源链接,因为源似乎不同 from bs4 import BeautifulSoup import requests source = requests.get(https://www.bing.com/news?q=Technology&cf

我已经创建了一个程序,将抓取Bing新闻提要,分析内容,并通过电子邮件向我发送标题、摘要和新闻链接。到目前为止,我已经能够使用BeautifulSoup正确地获得所有这些。我想通过在Bing新闻提要页面中显示新闻的图片来改进我的程序。我很难获得图像源链接,因为源似乎不同

from bs4 import BeautifulSoup
import requests

source = requests.get(https://www.bing.com/news?q=Technology&cf=intr&FORM=NWRFSH).text
soup = 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&amp;pid=News&amp;w=234&amp;h=132&amp;c=14&amp;
rs=2&amp;qlt=90" width="234"/>


所有其他的img标签也是这样的。正如你所看到的,src这里的数据并不理想,无法获得我在发送电子邮件时可以使用的图像链接。任何人都可以看一看网站(从我的代码)并检查一下,看看我可能做错了什么,或者我如何在发送电子邮件时以干净和可用的方式获得所有图像链接?非常感谢。

img标签的src属性非常好,您可以在大多数网站上找到它。它是一个带有绝对路径(路径以正斜杠开始)的相对url(没有“方案”或“域名”部分),因此它是客户端(在本例中是您的代码)负责使用与初始请求相同的方案和域名以及来自img标记的路径重建完整的绝对url-在您的示例中,最终结果应该类似于“”(它确实指向图像)


注意:不要试图自己将url解析为组件,只需使用stdlib的
urllib.parse
模块。

谢谢您的帮助。我的程序运行得非常完美:)