requests下载多张图片
程序员文章站
2022-05-26 23:52:51
...
前面写了如何下载单张图片,这里就来介绍下如何下载多张图片,区别在于多张图片的命名及放入不同文件夹等问题,我这里直接写如一个文件夹下。
废话不多说,直接上代码,没有定义函数,对新手很友好,步骤很清晰,写博客的主要原因是想让新手少踩一些坑
import requests
from bs4 import BeautifulSoup
import re
url = 'https://www.diediaow.com/'
headers = {
'User-Agent':'Mozilla/4.0(compatible;MSIE 5.5;Windows NT)',}
html = requests.get(url=url,headers=headers)
# 编码格式设置为utf-8
html.encoding='utf-8'
html = html.text
soup = BeautifulSoup(html,'lxml')
# 循环li
img = soup.select('div.row-l ul.clearfix li')
print(len(img))
a=1
for i in img:
# 得到img标签,因为得到的是一个列表,所以取第一位
ig = i.select('a div.img img')[0]
# 得到img标签的img链接地址,这个标签里面也放了url,当然也可以获取src的url
img_url = ig.get('data-original')
# 得到的链接有的格式不正确,所以筛选一下看是否是str类型
if isinstance(img_url,str):
print(img_url)
# 得到图片
response = requests.get(img_url)
# 将图片放入G盘的img文件夹下,并给每一张图片命名
with open('G:/img/'+'a'+str(a)+'.jpg','wb') as fd:
# 以128字节写入
for chunk in response.iter_content(128):
fd.write(chunk)
a+=1
我爬的是碟调网的图片,这个网站挺不错,可以看免费电影,当然,只有成功将图片爬下来的人才能去看哦
运行代码,然后就会看到我G盘的img文件夹下有这么多图片了,文件名也是自己写的
当然有的图片因为各种原因没有下载下来,还有的因为格式不正确打开不了的就不管了
上一篇: JavaScript导出图片和数据到Excel(绝对管用)
下一篇: Java下载图片服务器上的资源