欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python-网络图片下载(两种方式)

程序员文章站 2022-05-27 08:04:01
...

利用python进行网络图片下载(两种方式)

1:方式一
1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 图片批量下载_方式01
"""
# 导入re模块,直接调用来实现正则匹配
import re
# 导入请求模块
# 具体请参考:https://blog.csdn.net/lincifer/article/details/27374313
import urllib.request
# 定义变量url 获取要下载图片的地址
url = "http://tieba.baidu.com/p/2460150866"
# 使用urlopen()打开,read()读取并设置解码的格式
response = urllib.request.urlopen(url).read().decode('utf-8')
imglist = re.findall('src="(.+?\.jpg)" pic_ext',response)

# 定义变量x并初始化用来计数图片的张数
x = 0
# 遍历
for imgurl in imglist:
    # urlretrieve() 方法直接将远程数据下载到本地。
    urllib.request.urlretrieve(imgurl, "D:\yanjiusheng\Pycharm\Pycharm workStation\image_download\image\{}.jpg".format(x))
    x = x + 1
    print("第", x ,"张")
print("下载完毕")

2 :结果
python-网络图片下载(两种方式)


2:方式二
1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能:图片批量下载_方式02
"""
# 导入re模块,直接调用来实现正则匹配
import re
import requests
# 定义变量url 获取要下载图片的地址
url = "http://tieba.baidu.com/p/2460150866"
# 使用get()来获取url
r = requests.get(url)
imglist = re.findall('src="(.+?\.jpg)" pic_ext',r.text)

# 定义变量x并初始化用来计数图片的张数
x = 0
# 遍历
for imgurl in imglist:
    # 获取获得的从imglist中遍历得到的imgurl
    imgres = requests.get(imgurl)
    with open("D:\yanjiusheng\Pycharm\Pycharm workStation\image_download\image_02\{}.jpg".format(x), "wb") as f:
        f.write(imgres.content)
        x +=1
        print("第", x ,"张")
print("下载完毕")

2:结果
python-网络图片下载(两种方式)