python爬图片显示不了_求大佬解惑,关于爬取的图片显示不正确的问题

import urllib.request

import os

import random

import time

def url_open(url):

ip_list = ['101.254.136.130:443', '114.234.80.188:9000', '103.99.10.49:83', '190.144.127.234:3128',

'125.26.99.186:34577']

'''req = urllib.request.Request(url)

req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Edg/83.0.478.45')'''

proxy_support = urllib.request.ProxyHandler({'http': random.choice(ip_list)})

opener = urllib.request.build_opener(proxy_support)

opener.addheaders = [('User-Agent',

'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Edg/83.0.478.45'),

('Referer','https://www.mzitu.com/')

]

urllib.request.install_opener(opener)

response = opener.open(url)

# 这里为什么不解码?

html = response.read()

return html

def save_imgs(floder, img_addrs):

print(img_addrs)

for each in img_addrs:

filename = each.split('/')[-1]

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

img = url_open(each)

f.write(img)

def find_imgs(url):

html = url_open(url).decode('utf-8')

# print(html)

img_addrs = []

a = html.find('blur" src="')

while a != -1:

b = html.find('.jpg', a, a + 255)

if b != -1:

img_addrs.append(html[a + 11:b + 4])

break

else:

b = a + 11

a = html.find('blur" src="', b)

return img_addrs

def download_mm(floder='./XXOO', pages=30):

os.mkdir(floder)

os.chdir(floder)

url = 'https://www.mzitu.com/214947'

for i in range(1, 30):

print(i)

page_url = url + '/' + str(i)

img_addrs = find_imgs(page_url)

save_imgs(floder, img_addrs)

if __name__ == '__main__':

download_mm()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值