要用Python爬取图片,我们可以使用requests库和BeautifulSoup库,以下是详细的技术教学:
1、确保已经安装了requests和BeautifulSoup库,如果没有安装,可以使用以下命令进行安装:
pip install requests
pip install beautifulsoup4
2、导入所需库:
import requests
from bs4 import BeautifulSoup
import os
3、定义一个函数,用于下载图片:
def download_image(url, save_path):
response = requests.get(url)
with open(save_path, 'wb') as f:
f.write(response.content)
4、定义一个函数,用于获取网页中的所有图片链接:
def get_image_urls(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')
img_urls = [img['src'] for img in img_tags if 'src' in img.attrs]
return img_urls
5、定义主函数,用于爬取网页中的所有图片:
def main(url, save_dir):
if not os.path.exists(save_dir):
os.makedirs(save_dir)
img_urls = get_image_urls(url)
for img_url in img_urls:
save_path = os.path.join(save_dir, img_url.split('/')[1])
download_image(img_url, save_path)
print(f'下载完成:{img_url} > {save_path}')
6、调用主函数,开始爬取图片:
if __name__ == '__main__':
url = 'https://www.example.com' # 替换为目标网站的URL
save_dir = 'images' # 图片保存的文件夹名称
main(url, save_dir)
将以上代码保存为一个Python文件,例如download_images.py
,然后在命令行中运行该文件,即可开始爬取图片,注意将url
变量替换为目标网站的URL。