最近在群里看到好多人在斗图,各式各样的,可是自己收藏里面却没有几个,于是就想着去网上找点资源。为了当上斗图王,就百度了些python教程,看着视频敲了些代码。
代码就不讲解了,因为毕竟是看着视频搞得,有些地方我也不是很懂,这个是使用多线程爬取的,我自己只会写单线程的(没办法,现在还是只菜鸡)。
直接贴多线程源码:

#intent      :
#Author      :Michael Jack hu
#start date  : 2019/1/18
#File        : 爬取表情包(多线程).py
#Software    : PyCharm
#finish date :
'''import requests
from lxml import etree
import os
import re
from urllib import request
from queue import Queue
import threadingclass Procuder(threading.Thread):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}def __init__(self,page_queue,img_queue,*args,**kwargs):super(Procuder,self).__init__(*args,**kwargs)self.page_queue = page_queueself.img_queue = img_queuedef run(self):while True:if self.page_queue.empty():breakurl = self.page_queue.get()self.parse_page(url)def parse_page(self,url):resopnse = requests.get(url,headers=self.headers)text = resopnse.texthtml = etree.HTML(text)imgs = html.xpath("//div[@class='page-content text-center']//img[@class!='gif']")for img in imgs:img_url = img.get('data-original')alt = img.get('alt')alt = re.sub(r'[\??\.,。!!]',' ',alt)suffix = os.path.splitext(img_url)[1]suffix = re.sub(r'!dta', '', suffix)filename = alt + suffixself.img_queue.put((img_url,filename))class Consumer(threading.Thread):def __init__(self,page_queue,img_queue,*args,**kwargs):super(Consumer,self).__init__(*args,**kwargs)self.page_queue = page_queueself.img_queue = img_queuedef run(self):while True:if self.img_queue.empty() and self.page_queue.empty():breakimg_url,filename = self.img_queue.get()request.urlretrieve(img_url,'doutu/'+filename)print(filename + '下载完成')def main():page_queue = Queue(100)img_queue = Queue(500)for x in range(1,101):url = 'http://www.doutula.com/photo/list/?page=%d' %xpage_queue.put(url)print('The %d page is finshed!' %x)for x in range(5):t = Procuder(page_queue,img_queue)t.start()for x in range(5):t = Consumer(page_queue,img_queue)t.start()if __name__ == '__main__':main()[/mw_shl_code]

下载的图片如下:

运行时截图:

最后送上爬好的五千多个表情包:链接: https://pan.baidu.com/s/1bDMciJHgcWoM7K5cvJvKUw 提取码: cix1

我是斗图王之python爬取表情包相关推荐

  1. python表情包语言_我是斗图王之python爬取表情包

    [Python] 纯文本查看 复制代码# -*- coding: utf-8 -*- ''' #intent : #Author :Michael Jack hu #start date : 2019 ...

  2. Python 爬取表情包-斗图不会输在起跑线

                   Python 爬取表情包-斗图不会输在起跑线 对于酷爱聊天的朋友来说,表情包应该是他们心中的灵魂,没有图的聊天只能算虾扯蛋了.图片(表情包)赋予了聊天更多的内涵,很多时候 ...

  3. python爬取表情包,并下载到本地

    python爬取表情包 需求:爬取2页表情包,网址是:https://www.fabiaoqing.com/biaoqing 上代码 import requests # 数据请求模块 import p ...

  4. 教你用Python爬取表情包网站下的全部表情图片

    教你用Python爬取表情包网站下的全部表情图片 又是我啦~~~ 最近上网的时候老看到有人用Python爬取表情包,心痒痒自己也整了一个. 使用到的扩展库:BeautifulSoup, request ...

  5. Python爬取表情包

    前言 随着网络的发达,大家在网上聊天时候经常发表情斗图,但是有的时候斗图斗不过就会让自己很难过,影响自己的心情. 本文介绍如何用python的简单爬虫爬取网站的图片. 目录 前言 一.python爬虫 ...

  6. Python新手实战爬取表情包

    Python新手实战爬取表情包 前言 如有错误, 还望大佬们斧正. 谢谢! 我是一个Python小白. 如有错误还请见谅. 本文是Python 爬取表情包 适合新手. 代码还有很多可以改进的地方. 本 ...

  7. Python爬虫爬取表情包+Autojs微信自动导入表情包脚本(附源码)

    废话不多说直接开始 Python爬取表情包 一.检查网页源码 发现可以找到图片地址,直接请求图片地址下载图片 二.打开开发者工具(F12) 通过xpath提取p标签下的img标签src属性为图片地址 ...

  8. 【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔!

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/art ...

  9. python之scrapy实战爬取表情包

    python之scrapy实战爬取表情包 前言:在之前我们学习了scrapy框架的基本使用,今天我们通过实战(爬取http://www.doutula.com的套图)来更加了解scrapy框架额使用, ...

最新文章

  1. 计算机电缆称赞千 捷网络下拉刷词,电脑常用技巧
  2. [BZOJ]2563: 阿狸和桃子的游戏
  3. 线性求所有逆元的方法
  4. Android性能调优利器StrictMode
  5. QT5 获取窗口、系统屏幕大小尺寸信息,Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标
  6. mysql安装过程遇到的问题_个人在mysql安装过程中遇见的问题
  7. 搭载华为HiCar 新宝骏跨界融合打造智能出行生态圈
  8. 新高考改革选计算机专业要学什么,2020高考改革后考生如何选科与选专业?
  9. 机器学习和数据挖掘的联系与区别
  10. 拓端tecdat|R语言Bass模型进行销售预测
  11. 01.自定义View(ArcView弧形进度条)
  12. 毕设题目:Matlab图像增强
  13. c语言运算优先级口诀简单,C语言运算符优先级和口诀
  14. java动态时钟_Java实现动态数字时钟
  15. 海量数据处理之Tire树(字典树)
  16. 60+张PPT,教你如何搭建Spark离线数仓!
  17. 安卓系统Remix_OS 的vmware虚拟机安装
  18. Qt5软键盘实现中文拼音输入法
  19. 发现一个推特前端替代网站,可以直接浏览推特用户发布的内容。
  20. 数字化名词解释—数字化

热门文章

  1. AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID
  2. word的链接到前一节消失
  3. java实现仿微信app聊天功能_Android仿微信语音聊天功能
  4. 三张简图搞懂GBDT
  5. navicat转换word表格
  6. QT中自定义控件和插件大致方法
  7. Pspice——可控硅的控制
  8. 一个新手的评价---人机交互方面(有些不搭题
  9. 移动云计算的四大特点
  10. 天猫精灵python开发_天猫精灵X1智能音箱使用感想