使用python3批量下载网站图片

0x01 Code

import shutil
import requests
import os
from bs4 import BeautifulSoup

url='https://www.woyaogexing.com/touxiang/fengjing/'

def download_tupian(image_url,image_localpath):
	response = requests.get(image_url,stream = True)	#下载文件需要设置stream为true
	if response.status_code == 200:
		with open(image_localpath,'wb') as f:
			response.raw.deconde_content = True
			shutil.copyfileobj(response.raw,f)	#shutil和response配合下载是我们通用的一个下载方式。

def pa(url):
	response = requests.get(url)
	#print (response.text)
	soup = BeautifulSoup(response.text,'lxml')
	#print (soup.prettify())	#如果网页中格式混乱,可以使用此方法输出为标准的html格式
	for divv in soup.find_all('div',class_='pMain'):
		#print (divv)
		for tupian in divv.find_all('img'):	#先找到想要匹配的块,再具体匹配符合条件的内容。
			imgurl = tupian.get('src')	#得到img标签中src属性的值,即图片url。
			#print (tupian)
			#print ('http:'+imgurl)
			newimgurl='http:'+imgurl	#在这里获取到的图片url是//pic.com/xxx.jpg的形式,无法直接下载,需要转换一下		
			dir = os.path.abspath('./images')	#得到当前路径
			filename = os.path.basename(newimgurl)	#得到图片名称
			imgpath = os.path.join(dir,filename)	#设置好下载的路径和图片的名称
			print ('下载ing: %s' % imgurl)
			download_tupian(newimgurl,imgpath)	#调用下载图片的方法
	

pa(url)

0x02 效果

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LQxdp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值