用Python写一个输入任意内容自动下载图片的程序

NO.001|86597631

1完整教程

1.1模块安装

——
我们需要用到os、requests、re这几个模块,其中os和re是自带的requests需要额外安装。

	pip install requests

1.2获取网页源码

——
首先我们需要获取到百度图片.的源代码:

import requests


url='https://image.baidu.com/search/flip?tn=baiduimage&ie=utf\
-8&word=python'
r=requests.get(url)
ret=r.text
print(ret)

1.3获取图片的URL地址

——
然后F12开发者工具分析出所有的图片的URL地址都储存在objURL下所以可以用一个正则表达是来获取所有图片的URL

import re


img_list=re.findall(r'"objURL":"(.*?)"',ret)
print(img_list)

1.4保存图片

——
最后把所有图片保存下来

index=0
for img in img_list:
    index+=1
    print('正在下载第'+str(index)+'张''图片地址'+img)
    suffix_name=img[-3:]
    if not '.' in suffix_name:
    	suffix_name='.'+suffix_name
    file_name=word+'_'+str(index)+suffix_name
    pic=requests.get(img,timeout=10)
            with open(word+'/'+file_name,'wb') as f:
            f.write(pic.content)

2完整代码

——

import re
import requests
import os



word=input('请输入关键字:')
if not os.path.exists(word):
   os.mkdir(word)
url='https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+''
r=requests.get(url)
ret=r.text
img_list=re.findall('"objURL":"(.*?)",',ret)
index=0
for img in img_list:
   index+=1
   print('正在下载第'+str(index)+'张''图片地址'+img)
   suffix_name=img[-3:]
   if not '.' in suffix_name:
       suffix_name='.'+suffix_name
   file_name=word+'_'+str(index)+suffix_name
   print(file_name)
   try:
       pic=requests.get(img,timeout=10)
   except requests.exceptions.ConnectionError:
       print('【错误】当前图片无法下载')
       continue
   try:
       with open(word+'/'+file_name,'wb') as f:
           f.write(pic.content)
   except  BaseException:
       print('【错误】当前图片无法下载')

3程序封装

3.1安装pyinstaller

pip install pyinstaller

3.2封装成exe可执行文件

pyinstaller -F 文件名.py

3.3报错处理

pyinstaller报错UnicodeDecodeError的小伙伴看这里

4源码下载

——
需要源码的小伙伴们可以点击这里下载源码

发布了6 篇原创文章 · 获赞 4 · 访问量 2343

猜你喜欢

转载自blog.csdn.net/weixin_43331991/article/details/86597631