爬取干货集中营的美女图片
干货集中营地址:https://gank.io/
点击菜单栏里的api,进入接口页面:https://gank.io/api
有这么一个说明:
分类数据 API
https://gank.io/api/v2/data/category/<category>/type/<type>/page/<page>/count/<count>
请求方式: GET
注:
category 可接受参数 All(所有分类) | Article | GanHuo | Girl
type 可接受参数 All(全部类型) | Android | iOS | Flutter | Girl ...,即分类API返回的类型数据
count: [10, 50]
page: >=1
示例:
获取妹子列表
https://gank.io/api/v2/data/category/Girl/type/Girl/page/1/count/10
获取Android干货列表
https://gank.io/api/v2/data/category/GanHuo/type/Android/page/1/count/10
可以得知如下信息:
1.获取妹子列表地址是https://gank.io/api/v2/data/category/Girl/type/Girl/page/1/count/10
page要大于等于1,count的范围是10-50
通过页面显示,共有96条数据。
或者挨个访问上述地址测试
2.请求后得到的数据是json格式的,里面的url就是图片地址
PySimpleGUI使用地址:https://mp.weixin.qq.com/s/98RfBnIdUdNyIGXthsZttw
python3项目打包成exe可执行程序:https://www.cnblogs.com/mini-monkey/p/11195309.html
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import os
from _md5 import md5
import requests
from requests import RequestException
import PySimpleGUI as sg
http_save_path = sg.popup_get_folder("请选择图片保存的文件夹")
def save_image(content):
file_path = http_save_path + '\\{1}.{2}'.format(os.getcwd(), md5(content).hexdigest(), 'jpg')
if not os.path.exists(file_path):
with open(file_path, 'wb') as f:
f.write(content)
def download_image(url):
try:
response = requests.get(url)
if response.status_code == 200:
save_image(response.content) # response.contenter二进制数据 response.text文本数据
return None
except RequestException:
print('请求图片出错', url)
return None
for x in range(1, 3):
url = "https://gank.io/api/v2/data/category/Girl/type/Girl/page/" + str(x) + "/count/50"
response = requests.get(url).text
data_dict = json.loads(response)
for y in range(0, len(data_dict["data"])):
image_url = data_dict["data"][y]["url"]
print("正在保存第%s张图片" %(y))
download_image(image_url)
打包文件,pyinstaller -F xxx.py(xxx.py,打包的文件)
找到这个exe文件后,双击打开,然后选择一个文件夹,点击ok,然后找到刚才选择的文件夹,就能查看图片了
最终文件下载地址:https://files.cnblogs.com/files/sanduzxcvbnm/app.7z