python爬去图片怎么用进度条显示?

python爬取图片怎么用进度条显示?

第一写CSDN博客,没什么内容希望大家理解。

第一步 大致步骤

我这以爬去360图片为例来进行爬去图片

  1. 先引入需要用的相关库;
  2. 分析360图片爬去原理;
  3. 爬取图片;
  4. 对爬去图片进行保存并用进度条显示爬去的进度;
  5. 注意事项;

第二步 相关代码

相关库

import requests
import os
from urllib import parse
from bs4 import BeautifulSoup
import json

获取相关图片链接

def gethtml_downurl(name,i):
img = []
url = “http://image.so.com/i?q=%s&src=srp#/”%name
r = requests.get(url)
bs = BeautifulSoup(r.text,“lxml”)
imgkey = bs.select(“script[id=initData]”)
text = imgkey[0].text
dictinfo = json.loads(text)
for i in range(i):
text=dictinfo[“list”][i][“downurl_true”]
img.append(text[33:text.find("&purl")])
return img

对链接部分字符进行编码

def ascll_unquote(rawurl):
pic=[]
for i in rawurl:
url=parse.unquote(i)
pic.append(url)
return pic

判断存放图片目录文件是否存在,不存在重新建立

def mkdir(path):
folder = os.path.exists(path)
if not folder:
os.makedirs(path)

爬去图片

def down_img(url,name):
x=0
for i in url:
#print(i)
size = len(url)
r=requests.get(i)
mkdir(“E:\美女壁纸%s”%name)
x=x+1
with open(“E:\美女壁纸%s\RR%s.jpg”%(name,x),“wb”) as f:
f.write(r.content)
f.close()
print("\r [%s%s] %d/%d " % (x * ‘█’, ’ ’ * (size - 1 - x),x,size),end=’’)
def get_img(name,i):
url=gethtml_downurl(name,i)
ture_url=ascll_unquote(url)
down_img(ture_url,name)

主程序

if namemain’:
name = input(‘输入所要下载明星的名字:’)
if(name
’’):{
print("oh my god ,have it ? fuck you script wrong ")
}
i = int(input(‘你要下载的数量:’))
get_img(name,i)

效果图片

python爬去图片怎么用进度条显示?

相关代码

[1] :github:https://github.com/kare-chen/personal_tools/tree/master/python_spider