python提取网站图片方法_python获取网络图片方法及整理过程详解

这篇文章主要介绍了python获取网络图片方法及整理过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

方式1

使用urllib库

import urllib.request

import os ,stat

url = "https://cn.bing.com/th?id=OHR.Lidong2019_ZH-CN0761273672_1920x1080.jpg"

try:

urllib.request.urlretrieve(url,filename="/home/baixiaoxu/desk/123.jpg")

except IOError as e:

print("IOE ERROR")

except Exception as e:

print("Exception")

注意:

1,获取地址,判断地址是否存在

2,本地保存地址,判断存在

3,获取远程地址的图片名,或改名

"""

url = "https://cn.bing.com/th?id=OHR.Lidong2019_ZH-CN0761273672_1920x1080.jpg"

file_suffix = os.path.split(url)[1][-20:-1]

print(file_suffix)

"""

2,使用系统库文件读写操作

import urllib.request

import os ,stat

req = urllib.request.Request(url)

file = "/home/baixiaoxu/desk/file-ttttt.jpg"

req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0')

response = urllib.request.urlopen(url)

html = response.read()

with open(file, 'wb') as f:

f.write(html)

网上的方法

import os

os.makedirs('./image/', exist_ok=True)

IMAGE_URL = "/uploads/cj/201912/20171122113404332.jpg"

def urllib_download():

from urllib.request import urlretrieve

urlretrieve(IMAGE_URL, './image/img1.png')

def request_download():

import requests

r = requests.get(IMAGE_URL)

with open('./image/img2.png', 'wb') as f:

f.write(r.content)

def chunk_download():

import requests

r = requests.get(IMAGE_URL, stream=True)

with open('./image/img3.png', 'wb') as f:

for chunk in r.iter_content(chunk_size=32):

f.write(chunk)

整理简单的下载图片

import urllib

from urllib import request

import re

response = request.urlopen('https://cn.bing.com/')

html = response.read()

ht = html.decode()

pattern = r'bgLink(.*?\.jpg)'

compile_re = re.compile(pattern)

hh = compile_re.findall(ht)

url = hh[0].split('/')[1]

download = 'https://cn.bing.com/' + url

urllib.request.urlretrieve(download,filename="/home/baixiaoxu/desk/download.jpg")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值