"""爬取斗图吧里面的所有表情包

知识点总结: 一、使用requests库进行爬取,随机请求头(网站反爬措施少。挂个请求头足矣) 二、具体思路:               1.先爬取所有的图片url,放在列表里               2.循环遍历url请求这些图片,               3.将图片进行分类保存三、分类保存用到一个知识点,endwith(以***结尾)               使用这个函数,将jpg,gif,png等不同类型的图片分开四、演示案例中,只爬取了前20页。五、各个定义的数字变量意思为:               n=1     网页页数               num=1   保存图片数

注:该案例主要是练习    1.图片的保存,应注意,保存时使用字节流的形式。    2.书写爬虫代码的逻辑思维。"""from fake_useragent import FakeUserAgentimport requestsimport reimport timeimport randomdef getUrls():    # 将获取到的url列表在放到list这个列表里    url_list=[]    n=1    while True:        url = f"http://www.doutula.com/article/list/?page={n}"        headers = {            "User-Agent":FakeUserAgent().random        }        htmlStr = requests.get(url,headers=headers).text        # print(htmlStr)

        # 定义   提取图片url的正则        urls = r'data-original="(.*?)"'        # 编译        urls = re.compile(urls)        #正则提取        urls = re.findall(urls,htmlStr)        url_list.append(urls)        print("正在收集第%s页的图片"%n)        n = n + 1        # 设置延时        time.sleep(0.5)        # 当n=21的时候,爬虫程序停止.为了演示方便只保存前二十页其实共有615页        if n == 21:            break    print(len(url_list))    return url_list

# 保存图片# 以字节的形式将图片保存def download(url_list):    num = 1    for urls in url_list:        for url in urls:            header={                "User-Agent":FakeUserAgent().random            }            # 因为爬取到的图片有两种,所以写了一个判断条件,分类保存,            if url.endswith('.jpg'):                # 保存到本地                with open('./img/%s.jpg'%num,'wb') as file:                    # 获取到图片  字节                    img = requests.get(url, headers=header)                    file.write(img.content)                    print("正在保存第%s张图片"%num)                    num += 1                    time.sleep(0.3)            elif url.endswith('.gif'):                # 保存到本地                with open('./img/%s.gif' % num, 'wb') as file:                    # 获取到图片  字节                    img = requests.get(url, headers=header)                    file.write(img.content)                    print("正在保存第%s张图片" % num)                    num += 1                    time.sleep(0.3)

if __name__ == '__main__':    url_list=getUrls()    download(url_list)

转载于:https://www.cnblogs.com/YangQingHong/p/11006257.html

spider_爬取斗图啦所有表情包(图片保存)相关推荐

  1. python3爬虫——多线程爬取斗图网表情包

    本文用多线程生产者,消费者模式爬取斗图网的表情包,并下载保存到本地,get_page()函数负责获取页面的图片的url链接,downlod_img()函数通过图片url下载保存到本地文件夹中,开启多线 ...

  2. scrapy爬取斗图表情

    用scrapy爬取斗图表情,其实呀,我是运用别人的博客写的,里面的东西改了改就好了,推存链接" http://www.cnblogs.com/jiaoyu121/p/6992587.html ...

  3. 手把手教学php表情包,手把手教你爬取斗图啦表情包

    爬取表情包 闲来无事,突然想到表情包好久没有更新了,正好这几天学了爬虫,利用爬虫来更新一波表情包,哈哈哈. 有一个网站,叫做"斗图啦",网址是:https://www.doutul ...

  4. 多线程爬取斗图表情包

    和朋友在QQ上聊天感觉呀没有激情,突然,突发奇想,我写个小的爬虫 ,把表情包爬取下来随便挑,斗到他们吐血. 下面是爬取斗图的代码,代码可供参考 #encoding:utf8#模块import reim ...

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

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

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

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

  7. python多线程爬取斗图啦数据

    python多线程爬取斗图啦网的表情数据 使用到的技术点 requests请求库 re 正则表达式 pyquery解析库,python实现的jquery threading 线程 queue 队列 ' ...

  8. python多线程爬取多个网址_【Python爬虫】多线程爬取斗图网站(皮皮虾,我们上车)...

    原标题:[Python爬虫]多线程爬取斗图网站(皮皮虾,我们上车) 斗图我不怕 没有斗图库的程序猿是无助,每次在群里斗图都以惨败而告终,为了能让自己在斗图界立于不败之地,特意去网上爬取了斗图包.在这里 ...

  9. Python爬虫系列(三)多线程爬取斗图网站(皮皮虾,我们上车)

    斗图我不怕 最近看了Python多线程的相关内容,并且前几天观看了腾讯课堂潭州学院上面的关于斗图网爬取的公开课,课程内容大致是利用Python多线程爬取斗图(多页),并将图片保存到本地.自己写这篇文章 ...

最新文章

  1. What is acceptable cell and suitable cell in LTE?
  2. mysql中模糊查询的四种用法介绍
  3. Acunetix WVS安全测试软件使用教程(入门级)
  4. ubuntu dpkg initramfs-tools错误的解决方法
  5. AFei Loves Magic
  6. 自研redis sdk支持自动dns切换(附源码)
  7. 安卓之实现一个简单的电话拨号功能
  8. Java电子书平滑翻页效果_(转载)Android 平滑和立体翻页效果1
  9. 开源软件 Cachet 被曝RCE漏洞
  10. IoC容器9——基于注解的容器配置
  11. 使用Java实现登陆WebQQ(带源码)
  12. selenium 区域截图
  13. 黑鲨官网装机大师工具如何重装win10系统,win10系统重装
  14. 用java代码编写出喜字_喜字是怎么写的
  15. Windows系统服务器如何架设网站
  16. go语言实现2048小游戏(完整代码)
  17. C++ 模板中的类型获取(一)
  18. SQL学习之使用order by 依照指定顺序排序或自己定义顺序排序
  19. 性能测试分析之-CPU时间分类与饱和度
  20. Artificial Intelligence 人工智能 AI search AI 搜索

热门文章

  1. PostgreSQL的json和jsonb比较
  2. 饿了么建生鲜开放平台 买菜业务要推至全国500城
  3. 用GitHub Actions自动部署Hexo
  4. lq到底是什么意思_LQ网络用语是什么意思?
  5. 概念(航天):LEO,MEO,GTO,GEO,IGSO,SSO
  6. MATLAB积分计算与积分变换
  7. 2018 mysql 笔试题_2018秋招数据库笔试面试题汇总
  8. 揪出毛孔粗大4个致命原因
  9. 《生物信息学:导论与方法》--本体论、分子通路鉴定--听课笔记(十九)
  10. 【bzoj1050】 旅行comf