首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么总是显示:can't concat str to bytes 请问是哪里出错了呢?

为什么总是显示:can't concat str to bytes 请问是哪里出错了呢?

提问于 2020-07-23 23:38:42
回答 0关注 0查看 856

import urllib.request

import os

def url_open(url):

head={}

head['User-Agent']=' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'

req=urllib.request.Request(url,head)

response=urllib.request.urlopen(req)

html=response.read()

return html

#找图片对应的规律

def get_page(url):

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

a=html.find('current')+9

b=html.find('<',a)

return html[a:b]

#寻找图片地址

def find_imgs(url):

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

img_addrs=[]

a=html.find('img src=')

while a!=-1:

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

if b!=-1:

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

else:

b=a+9

a=html.find('img src=',b)

return img_addrs

#保存图片

def save_imgs(folder,img_adders):

for each in img_addrs:

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

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

img=url_open(each)

f.write(img)

def download(folder='照片合集',pages=30):

os.mkdir(folder)

os.chdir(folder)

url='https://www.7160.com/xingganmeinv/'

page_num=int(get_page(url))

for i in range(pages):

page_num+=i

page_url=url+'list_3_'+str(page_num)+'.html'

#img是将图片地址保存为列表

img_addrs=find_imgs(page_url)

save_imgs(folders,img_addrs)

#测试函数

if __name__=='__main__':

download()

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档