Python利用json调用格式下载随机图片API的图片

发布于 2018-08-05  962 次阅读


原作者:AlairLee

额,先说下,我刚学python不久,对于很多东西都不是太了解,我只是分享下我的思路。大神轻喷

也不做过多的解释,需要的人自然懂,直接贴代码。

这个采集脚本主要用于采集随机二次元图片API

比如:

# #coding:utf-8
import requests
import os
import json
import urllib.request
n=0
list=['图片url地址:']
while n<5:
    n=n+1
    url1 = r'==========json接口地址=============='
    response = urllib.request.urlopen(url1)
    html = json.loads(response.read())
    dizhi='https:'+html['imgurl']
    if dizhi in list:
        continue
    else:
        list.append(dizhi)
geshu=len(list)
print(geshu)
f=open('test.txt','w')
for i in range(geshu):
    f.write(list[i]+'\n')
for z in range(geshu):
    if z==0:
        print('====================================')
    else:
        url = list[z]
        root = "python1//"
        path = root + url.split("/")[-1]
        try:
            if not os.path.exists(root):
                os.mkdir(root)
            if not os.path.exists(path):
                r = requests.get(url)
                r.raise_for_status()
                with open(path,"wb") as f:
                    f.write(r.content)
                print("爬取完成")
            else:
                print("文件已存在")
        except Exception as e:
            print("爬取失败:"+str(e))

while n<5:   这里5 代表采集数量,建议设置2000以上 挂vps上慢慢 跑。

自动 去重复,重复的图片会自动忽略。

f=open('test.txt','w')  test.txt为采集图片的url 

说明:单线程比较慢,脚本会先采集到图片的url 放入test.txt ,会吧你设置的采集数量跑完才会 开始下载图片到本地,没有进度条 以后可能会加一个。

基于py3.6写的

 

懒人包:

采图


三万长河独瓢饮,负天负地不负卿!