如何在Python中从站点获取随机图像链接?

如何在Python中从站点获取随机图像链接?,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我对网络抓取还不熟悉,但我对它了解不多。我已经做了一个程序,从一个网站获取一个随机图像链接,但我得到了一个链接列表,而这样做,我没有得到一个链接 这是我的密码 from bs4 import BeautifulSoup import urllib.parse from urllib.request import urlopen,Request import random requester = {'User-Agent': 'Mozilla/5.0'} req=Request("h

我对网络抓取还不熟悉,但我对它了解不多。我已经做了一个程序,从一个网站获取一个随机图像链接,但我得到了一个链接列表,而这样做,我没有得到一个链接

这是我的密码

from bs4 import BeautifulSoup
import urllib.parse
from urllib.request import urlopen,Request
import random


requester = {'User-Agent': 'Mozilla/5.0'}
req=Request("https://image.com",headers=requester)
u =urlopen(req)


soup = BeautifulSoup(u.read(), features="lxml")



links = soup.find_all('a')

images =[]
for img in soup.findAll('img'):
    images.append(img.get('src'))
    img=random.choice(images)
    
    print(img)
这是输出

https://www.bing.com/th?id=OHR.LongIsland_EN-US4283514207_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.BeaverDam_EN-US4184266799_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.PicoIsland_EN-US3959411167_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.LongIsland_EN-US4283514207_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.FinancialTowers_EN-US3881212547_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.LongIsland_EN-US4283514207_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.BeaverDam_EN-US4184266799_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.PicoIsland_EN-US3959411167_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.BeaverDam_EN-US4184266799_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.LongIsland_EN-US4283514207_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.LongIsland_EN-US4283514207_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.FinancialTowers_EN-US3881212547_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.PRNLCavern_EN-US7693319589_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.FinancialTowers_EN-US3881212547_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.BeaverDam_EN-US4184266799_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.PicoIsland_EN-US3959411167_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
https://www.bing.com/th?id=OHR.FinancialTowers_EN-US3881212547_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp

我只想要上面列表中的一个链接,而且链接应该是随机的,使用
img=random.choice(image)
跳出for循环

images =[]
for img in soup.findAll('img'):
    images.append(img.get('src'))

img=random.choice(images)    
print(img)

问题是我只需要一个链接,我也使用了random.choice(),但我想不出为什么会出现一个链接列表。您的意思是最后两行代码缩进?似乎不应该这样。将最后一个for循环替换为:
print(random.choice(soup.findAll('img'))
或只是
print(random.choice(images))
产生上述输出的原因是因为在for循环中获得随机URL(
img=random.choice(images)
),并且正在打印(
print(img)
)在循环中。谢谢你告诉我