📅  最后修改于: 2023-12-03 15:38:35.564000             🧑  作者: Mango
在Python中,我们可以使用urllib
和BeautifulSoup
库来从网页中下载所有图像。下面是具体步骤:
使用urllib
库中的urlopen()
函数打开目标网页。
使用BeautifulSoup
库中的find_all()
函数查找所有<img>
标签。
遍历所有图像链接,使用urllib
库中的urlretrieve()
函数将图像下载到本地。
以下是代码片段实现以上步骤:
import urllib.request
from bs4 import BeautifulSoup
import os
url = '目标网页链接'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
img_tags = soup.find_all('img')
for img in img_tags:
img_url = img.get('src')
if not img_url.startswith('http'):
img_url = url + img_url
try:
file_name = os.path.basename(img_url)
urllib.request.urlretrieve(img_url, file_name)
except:
print(f"Error downloading {img_url}")
以上代码将遍历网页中所有图片,如果图片链接不是以'http'开头,则会自动附加上目标网页链接。图片会下载到程序所在的文件夹中。
注意: 下载图片时需要考虑图片链接的可用性和下载速度,同时还需要注意网络访问的法律合规性。