10000+ gif表情包不是梦,get这一篇文就够了!!!小哥哥快到碗里来,再也不怕斗图没有表情包了

  • 1. 依赖模块及安装
  • 2. 查找网页规律
  • 3. 源码


最近看的爬虫的博客太多,小小的学习了下。主要是http请求,分析网页的http请求拼接(分页),返回值html 或者json的解析(用到正则表达式re或者json模块);

先上一张成果图:

1. 依赖模块及安装

pip install request
pip install json
pip install re

2. 查找网页规律

主要是:寻找分页规律 & 返回值规律 & 找到返回值的gif的真实路径

https://www.gaoding.com/api/aggregate/search?q=&page_size=120&page_num=1&design_cid=&channel_cid=&industry_cid=&filter_id=1612599&type_filter_id=1612599&channel_filter_id=&channel_children_filter_id=&sort=&styles=&colors=&ratios=运行效果如下图:
再也不怕斗图没有表情包了,欧耶~~

3. 源码

# url = 'https://www.gaoding.com/templates/f1612599' 网站获取动图gif
# -*- coding:utf-8 -*-
import json
import requestsdef getGifUrls():alist = []for i in range(1, 20, True):url_page = 'https://www.gaoding.com/api/aggregate/search?q=&page_size=120&page_num=' + str(i) + '&design_cid=&channel_cid=&industry_cid=&filter_id=1612599&type_filter_id=1612599&channel_filter_id=&channel_children_filter_id=&sort=&styles=&colors=&ratios='print(url_page)# 设置请求超时(20s)r = requests.get(url_page, timeout=20)if r.status_code == requests.codes.ok:print('=== status_code === ', r.status_code)  # 响应码print('=== headers === ', r.headers)  # 响应头print('=== Content-Type === ', r.headers.get('Content-Type'))  # 获取响应头中的Content-Type字段# 解析数据r.encoding = 'utf-8'print('content: ', type(r.text))f = open("./gifimgs/gif-" + str(i) + "-out.json", "w", encoding='utf-8')f.write(r.text)f.close()data2 = json.loads(r.text)print(type(data2))materials = data2['searchMaterials']# print(type(materials))# print(materials['code'])pageTotal = materials['pageInfo']['total']pageNum = materials['pageInfo']['num']pageSize = materials['pageInfo']['size']print(pageNum, pageSize, pageTotal)nodes = materials['nodes']print('nodes: ', type(nodes))result = [i['preview']['url'] for i in nodes]# for i, d in enumerate(nodes):#     print(d['preview']['url'])#     gif = d['preview']['url']# 打印gif的地址及数print(str(i), 'gif数:', len(result))print(str(i), 'gif0:')print(result[0])alist.extend(result)else:r.raise_for_status()  # 抛出异常return alistdef saveGifs(urls):num = 1for gif in urls:# 设置请求超时(20s)r = requests.get(gif, timeout=20)if r.status_code == requests.codes.ok:with open('./gifimgs/%d.gif' % num, 'wb') as fin:fin.write(r.content)  # 写入图片二进制print('正在下载第%d图片' % num + gif)num += 1else:r.raise_for_status()  # 抛出异常list = getGifUrls()
giflist = saveGifs(list)

10000+ gif表情包不是梦,get这一篇文就够了!!!小哥哥快到碗里来,再也不怕斗图没有表情包了相关推荐

  1. 小程序源码:聊天斗图微信表情包

    这是一款微信表情包小程序 支持自定义搜索,另外支持长按发送给好友 当然也支持长按保存表情包 这个源码比较单调一点,没有那么多的分类 小程序源码下载地址: 小程序源码:聊天斗图微信表情包-小程序文档类资 ...

  2. 小程序源码:聊天斗图微信表情包-多玩法安装简单

    这是一款微信表情包小程序 支持自定义搜索,另外支持长按发送给好友 当然也支持长按保存表情包 这个源码比较单调一点,没有那么多的分类 小程序源码下载地址: 小程序源码:聊天斗图微信表情包-多玩法安装简单 ...

  3. python表情包斗图_Python爬虫入门教程 13-100 斗图啦表情包多线程爬取

    斗图啦表情包多线程爬取-写在前面 今天在CSDN博客,发现好多人写爬虫都在爬取一个叫做斗图啦的网站,里面很多表情包,然后瞅了瞅,各种实现方式都有,今天我给你实现一个多线程版本的.关键技术点 aioht ...

  4. Python爬虫 | 斗图网表情包抓取

    Python爬虫 | 斗图网表情包抓取 1.数据来源分析 2.制作div_list 3.发起请求 4.保存图片 5.批量获取 6.完整代码 声明 1.数据来源分析   打开斗图吧的主页,发现网址非常有 ...

  5. 斗图斗不过小伙伴?python多线程爬取斗图网表情包,助你成为斗图帝!

    最近python基础课讲到了多线程,老师让交个多线程的实例练习.于是来试试多线程爬虫,正好复习一下mooc上自学的嵩天男神的爬虫知识.想法很美好,过程却很心酸,从早上开始写,每次出现各种奇怪问题,到现 ...

  6. Python爬虫实战(5)斗图啦表情包下载(单线程)

    Python爬虫实战(5)斗图啦表情包下载(单线程) 网页分析 代码 注意事项 文件名的中文标点 文件后缀os.path.splitext 网页反爬虫 输出结果 总结 利用BeautifulSoup ...

  7. Python多线程爬取斗图啦表情包

    斗图啦表情包多线程爬取-撸代码 首先快速的导入我们需要的模块,和其他文章不同,我把相同的表情都放在了同一个文件夹下面,所以需要导入os模块 import asyncio import aiohttp ...

  8. 爬虫笔记——多线程爬取斗图网表情包(threading)

    爬虫笔记--多线程爬取斗图网表情包(threading) 网站观察 爬取框架 具体代码 斗图网网址:斗图网,这里以爬取最新套图为例. 网站观察 在网页翻页操作中可以看到网页是非动态加载的(page为页 ...

  9. Python项目实战:爬取斗图网表情包图片

    2019独角兽企业重金招聘Python工程师标准>>> 前言 相信大家在和别人聊天的时候都很喜欢斗图吧,斗着斗着斗忘记睡觉了,哈哈,感情得到了升华,下面来介绍一个利用Python在斗 ...

最新文章

  1. docker与git实现push-to-deploy
  2. 3Blue1Brown深度学习笔记 深度学习之神经网络的结构 Part 1 ver 2.0
  3. 关于报工和生产订单的一些状态解释
  4. sql获取oracle数据库数据,通过sql语句获取数据库的基本信息
  5. SE37 test sequence - 在同一个main session内依次执行function module
  6. 清新浪漫风情人节海报PSD分层模板!
  7. 【unity】Inspector视图中的get/set使用(四)
  8. win10绿联usb转串口_绿联usb转串口驱动
  9. 总数量超过五十个,史上最全的爬虫项目集合
  10. 扩展模块已停止工作怎么解决_菲尼克斯Phoenix控制器电源模块维修检测免费
  11. 关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15
  12. python获取四六级成绩单
  13. 电脑计算机丢失msvcp140.dll,电脑丢失msvcp140.dll什么意思
  14. mapbox加载高程图结果谷歌浏览器提示无法初始化WebGl???
  15. 戴尔微型计算机主机怎么拆,微型主机 Dell OptiPlex 3020M 简单开箱
  16. 无法解析的外部符号__imp____iob_func
  17. 软件开发流行的原则:don't repeat yourself
  18. html 自动 生成 日期,自己生成Select列表日期时间
  19. 【深度】 到底什么是嵌入式系统?
  20. 机器学习在金融大数据风险建模中的应用

热门文章

  1. 客快物流大数据项目(十五):DockeFile常用命令
  2. 2021年大数据Spark(三十一):Spark On Hive
  3. Mysql中的递归层次查询(父子查询,无限极查询)
  4. HarmonyOS UI开发 match_parent与match_content
  5. struct.error: ushort format requires 0 <= number <= 0xffff
  6. 20181113-2 每周例行报告
  7. 2022-2028年中国服装电商行业发展战略规划及投资方向研究报告
  8. 机器学习数学 — 初等函数求导
  9. Dubbo的使用及原理浅析.
  10. 封装了一套WeCenter的IOS SDK