美文网首页
10.27 表情包的获取

10.27 表情包的获取

作者: 快乐的sunxth | 来源:发表于2018-10-27 18:14 被阅读0次

网址:https://www.doutula.com/photo/list/?page=1
这是一个写的很规范的网站,就是意味着很好爬。哈哈哈。首先分析网页元素,在浏览器中打开开发者工具检查元素。点击network,我使用的是火狐浏览器,所以点击网络就行,然后网页刷新。这里为了过滤掉其他没用的文件,选择图像。可以看到有很多的图像链接,我要的就是这些文件。如图:

实例图1.jpg
然后随便选择一个文件点击进去,这里是可以预览的,可以看到它的各种信息,如图: 图2.jpg
下面开始写代码:
首先导包:
import requests
import os
import re

这次是使用正则表达式来解析网页
因为我想爬取的不是仅仅一张网页上的图片,所以这里我是使用一个循环,也可以不使用,直接拿出来即可

url = 'https://www.doutula.com/photo/list/?page=1'
headers = {
 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/63.0'
}
response = requests.get(url,headers = headers).text
print(response)

这里要注意的一点是火狐的User-Agent竟然无法使用!!!!!!!所以需要换成其他浏览器的。会报错的。。。
可以打印网页内容先看一下
然后就开始正则匹配图片链接

reg = r'data-original="(.*?)"'
        images_urls = re.findall(reg,respose)
        #print(images_urls)
        def download(url1):
            res = requests.get(url1,headers = header).content
            return res
        for images_url in images_urls:
            image_name = images_url.split('/')[-1][:-4]
            print(image_name)
            image = download(images_url)
            with open('./images/%s'%image_name,'wb')as file:
                file.write(image)
        print("the"+str(n)+'page has completed copying')

这里也是开头的for循环里的内容,使用切片来正确打印图片的名字,提前在当前目录建立images文件夹
完整代码很短,如下:

# !/usr/bin/env python
# -*- coding:utf-8 -*-
#author named sunxth
#IDE  pycharm
import requests
import re
import os


def mainpy():

    for n in range(1,30):
        url = "https://www.doutula.com/photo/list/?page="+str(n)
        header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.204 Safari/537.36'}
        respose = requests.get(url,headers = header).text

        #print(respose)
        reg = r'data-original="(.*?)"'
        images_urls = re.findall(reg,respose)
        #print(images_urls)
        def download(url1):
            res = requests.get(url1,headers = header).content
            return res
        for images_url in images_urls:
            image_name = images_url.split('/')[-1][:-4]
            print(image_name)
            image = download(images_url)
            with open('./images/%s'%image_name,'wb')as file:
                file.write(image)
        print("the"+str(n)+'page has completed copying')

if __name__ == '__main__':
    mainpy()
使用效果如下: 使用效果.jpg
效果.jpg

相关文章

  • 10.27 表情包的获取

    网址:https://www.doutula.com/photo/list/?page=1这是一个写的很规范的网站...

  • 聊天室之表情发送

    表情图片渲染 将表情包放置在public/img路径下,遍历文件渲染到前端界面 表情图片获取 此时点击表情符号会显...

  • 副业记录180

    决定开始学着制作表情包,争取在微信公众表情平台发布,并售卖获取收益,赚得的钱学习PPT,看中PPT大牛的课程,去学...

  • 新手如何通过制作表情包赚钱!

    表情包这几年可谓是占据了“半壁江山”。高兴的时候发表情包,生日的时候发表情包,无聊的时候发表情包,尴尬的时候发表情...

  • 表情包

    忙了一周的老李终于有空坐下来边喝茶边玩着微信了。 好久没收到儿子的消息,想着,就发了条“在?”很快...

  • 表情包

    肥宅专用表情包,收好

  • 表情包

    我的日常生活离不开手机,生活和工作又离不开微信,微信里经常被我用来沟通的就是表情包。 我的微信里下载了几十种表情包...

  • 表情包

  • 表情包

    你被赋予神奇的功能 静静地隐藏在某个角落 等待指尖的命令 轻轻一点 我无条件地执行 那怕是昊花一现 我已瞬间完成了...

  • 表情包(*/ω\*)

    溜溜送一波表情包作为开篇~

网友评论

      本文标题:10.27 表情包的获取

      本文链接:https://www.haomeiwen.com/subject/jwidtqtx.html