Python 爬取小程序接口图片

之前我开发过一个「校徽头像制作」的微信小程序,目前陆陆续续添加了有几百来所高效校徽,用户数也有 1w+ 了。

校徽之前都是自己手动一个一个添加到服务器的,效率很低,导致如今都还有很多校徽缺失,体验不好。

这几天偶然发现了另外一个小程序,里面的校徽图片很齐全,于是决定爬一爬。

反编译小程序

要爬小程序里面的数据,需要知道小程序的接口地址以及参数。反编译小程序的主要目的就是是看到的 JavaScript 代码,这样就可以知道网络请求的 URL 以及 参数名称。

反编译小程序的过程比较复杂,这里可以直接参考文章:只需两步快速获取微信小程序源码1

最后,我在代码中获取到如下关键信息:

const url = `https://api.iamsaonian.com/index.php`;
const param = {'m': "Api",'c': "Xiaohuiavatar",'a': "xiaohui_list",'p': page
}

在 Postman 中进行请求,接口数据格式如下图,十分标准的 Json 格式数据,并且进行了分页。

下面就可以动手去爬去数据,并下载图片了。

爬取图片

首先说一下爬取思路,请求上面的接口,并解析数据,获取图片的 URL,下载图片,保存 csv 格式数据。

使用到的包有下面几个:

import json
import urllib.request
import requests
import csv

使用 urllib 下载图片至本地,图片命名使用 id 命名。

# 获取图片格式
str_array = logo.split('.')
format = str_array[len(str_array) - 1]
# 通过urllib.request下载图片到本地
urllib.request.urlretrieve(logo, '本地地址'+id+'.'+format)

打开填写的地址,图片下载到了本地,共有 2728 个校徽图片。

保存数据

以后想使用云开发重构小程序,因此将数据保存为 csv 格式,便于数据的插入。

# 将数据保存为 csv 格式
with open('logo.csv', 'w', newline='', encoding='utf-8') as csvfile:# 设置表头fieldnames = ['id', 'name', 'logo']# 获得 DictWriter对象,使用,号分隔,便于云数据库导入dict_writer = csv.DictWriter(csvfile, delimiter=',', fieldnames=fieldnames)# 第一次写入数据先写入表头dict_writer.writeheader()dict_writer.writerows(list)


打开小程序云开发控制台,选择数据库,导入本地 csv 数据,这里我已经将爬去的数据导入到云开发数据库了。

在公众号对话框回复**「爬取校徽」**可获取本次文章的代码以及校徽图片。


欢迎加我微信,一起交流,互相学习,共同进步!


关注公众号『嗜码』。回复关键字「前端」、「Python」、「Java」、「Android」、「小程序」、「Vue」等获取免费精品学习资料。


  1. https://juejin.im/post/5b0e431f51882515497d979f ↩︎

Python 爬取小程序接口图片相关推荐

  1. Python爬取小姐姐图片

    使用Python爬取小姐姐图片 首先上网站链接 唯美女生 爬取图片主要分为一下几步: 1.打开一个你喜欢的小姐姐的网站 E.g xiaojiejie web 2.下载并安装python环境 pytho ...

  2. python爬取图片-Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...

  3. python爬取帖吧图片实验报告,Python爬取百度贴吧图片

    原标题:Python爬取百度贴吧图片 作者:MTbaby 来源:http://blog.csdn.net/mtbaby/article/details/70209729 描述:用Python爬去百度贴 ...

  4. python如何爬取网页视频_快就完事了!10分钟用python爬取网站视频和图片

    原标题:快就完事了!10分钟用python爬取网站视频和图片 话不多说,直接开讲!教你如何用Python爬虫爬取各大网站视频和图片. 638855753 网站分析: 我们点视频按钮,可以看到的链接是: ...

  5. Python爬取 | 唯美女生图片

    这里只是代码展示,且复制后不能直接运行,需要配置一些设置才行,具体请查看下方链接介绍: Python爬取 | 唯美女生图片 from selenium import webdriver from fa ...

  6. 利用python爬取qq个性网图片

    利用python爬取qq个性网图片 网站头像布局大同小异,稍改代码即可爬取想要的头像. 不多bb,上代码. import requests from parsel import Selector im ...

  7. Python 爬取陈都灵百度图片

    Python 爬取陈都灵百度图片 标签(空格分隔): 随笔 今天意外发现了自己以前写的一篇爬虫脚本,爬取的是我的女神陈都灵,尝试运行了一下发现居然还能用.故把脚本贴出来分享一下. import req ...

  8. 用Python爬取彼岸图网图片

     用Python爬取彼岸图网图片 *使用了  四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装. ...

  9. Python爬取国家地理杂志的图片

    一.简介:Python爬取国家地理杂志的图片 二.代码展示 from bs4 import BeautifulSoup import requests import osos.mkdir('./img ...

  10. python爬取街拍美女图片

    python爬取街拍美女图片 完整代码: import requests from urllib.parse import urlencode import os from hashlib impor ...

最新文章

  1. mysql clob blob,如何在MySQL中插入BLOB和CLOB文件?
  2. Maven学习-项目对象模型
  3. pycharm 自动函数注释
  4. Fbpanel-轻巧的面板措施
  5. LeetCode 1727. 重新排列后的最大子矩阵(前缀和+排序)
  6. 利用scipy包计算表格线的峰值,还原表格得到表格结构
  7. 〖谷腾读书会GTC〗Digital economy
  8. vivado2018.3根据板卡Boards直接创建工程(比如basys3和Arty A7)
  9. mysql可视化界面创建表_使用可视化界面创建表
  10. 如何在linux下观看需vodplayer播放的电影
  11. 基于JSP和sql server小区物业管理系统毕业论文
  12. 7、微信小程序-wxs脚本
  13. 解释颜色深度概念:8 bit、16 bit、32 bit的意思
  14. python回车和换行的区别_换行\ n与回车\ r的区别
  15. c语言绕过dnf检测,过掉DNF游戏保护,仅供学习研究。不得用于非法途径
  16. Android蓝牙4.0之传输速率的提升
  17. Juniper Junos设置3层接口
  18. Unity 最新UnityWebRequest下载,同时显示下载进度,和 显示网速,今天贴出来和大家分享
  19. ArrayList中元素的删除操作
  20. 3D大型网络游戏腐竹制作教程

热门文章

  1. 用python简单代码做一个计算器
  2. 软件测试知识——Linux常用命令
  3. 让无代理设置参数的软件通过代理服务器联网
  4. [机器学习][三维重建] 凸包算法——Graham扫描
  5. C++编程 中文转换成Unicode
  6. matlab实现7种滤波
  7. 通信算法工程师调研整理
  8. AudioTrack播放acc格式音频
  9. 数字信号的增益matlab,如何控制多频带滤波器通带增益?
  10. 云端软件平台 如何共享自己封装的云端软件