环境 : win10, python3.6, pycharm
代码:
import requests
import re
import os
url = 'http://image.baidu.com/search/index'
# 下载函数
def get_img():
# 请求头
kv = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0',
'Accept': 'text/plain, */*; q=0.01',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'X-Requested-With': 'XMLHttpRequest',
'Referer': 'http://image.baidu.com/search/index?ct=201326592&cl=2&st=-1&lm=-1&nc=1&ie=utf-8&tn=baiduimage&ipn=r&rps=1&pv=&fm=rs3&word=%E5%94%AF%E7%BE%8E%E6%84%8F%E5%A2%83%E5%9B%BE%E7%89%87&ofr=%E9%AB%98%E6%B8%85%E6%91%84%E5%BD%B1',
'Cookie': 'BDqhfp=%E5%94%AF%E7%BE%8E%E6%84%8F%E5%A2%83%E5%9B%BE%E7%89%87%26%26NaN-1undefined-1undefined%26%260%26%261; Hm_lvt_737dbb498415dd39d8abf5bc2404b290=1455016371,1455712809,1455769605,1455772886; PSTM=1454309602; BAIDUID=E5493FD55CFE5424BA25B1996943B3B6:FG=1; BIDUPSID=B7D6D9EFA208B7B8C7CB6EF8F827BD4E; BDUSS=VSeFB6UXBmRWc3UEdFeXhKOFRvQm4ySmVmTkVEN2N0bldnM2o5RHdyaE54ZDlXQVFBQUFBJCQAAAAAAAAAAAEAAABzhCtU3Mbj5cfl0e8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE04uFZNOLhWZW; H_PS_PSSID=1447_18282_17946_15479_12166_18086_10634; Hm_lpvt_737dbb498415dd39d8abf5bc2404b290=1455788775; firstShowTip=1; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm',
'Connection': 'keep-alive'
}
# 声明全局变量
global date,num,name
# 获取图片所有url信息
page = requests.get(url, date, headers=kv).text
imglist = re.findall(r'http://.*?\.jpg', page)[::3]
# 以相对路径创建文件夹
root = ".//%s//" % name
if not os.path.exists(root):
os.mkdir(root)
# 下载
for imgurl in imglist:
path = root + str(num) + '.jpg'
with open(path, 'wb') as file:
file.write(requests.get(imgurl,headers=kv).content)
num += 1
if __name__ == '__main__':
num = 1
name = input('请输入您需要下载的内容:')
# 批量下载 这里是41页的内容
for i in range(1,41):
date = {
'cl': '2',
'ct': '201326592',
'fp': 'result',
'gsm': '1e',
'ie': 'utf-8',
'ipn': 'rj',
'istype': '2',
'lm': '-1',
'nc': '1',
'oe': 'utf-8',
'pn': i*30,
'queryword': name,
'rn': '30',
'st': '-1',
'tn': 'resultjson_com',
'word': name
}
get_img()
print('\r当前速度 :{: .2f} % '.format((i/40)*100), end ='')
打包成exe文件操作 : (源文件 文件名是Picture.py)
pyinstaller -F Picture.py
ps : 如果想讲图片打包成exe文件的外貌可以加上 -i 123.ico 参数
其中123.ico 是图片文件名(可以在线将jpg文件转为ico文件)