爬虫-爬取表情包

本文介绍了如何使用爬虫从doutula.com抓取表情包的思路和步骤。首先通过分析URL规律获取不同页面,接着在HTML源码中定位到图片所在的a标签,并使用xpath过滤掉gif图片,最后展示代码执行后的图片保存结果。
摘要由CSDN通过智能技术生成

1.思路

在这里插入图片描述

2.分析

在这里插入图片描述
1.分析页面规律
https://www.doutula.com/photo/list/?page=1 第一页
https://www.doutula.com/photo/list/?page=2 第二页
https://www.doutula.com/photo/list/?page=3 第三页
可以看出,page 的值跟点击的页数有关,因此,我们就拿到了要爬取的 url
2.打开检查元素,可以看到html源码
在这里插入图片描述
可以看出,每一页的图片都在 div 标签里面,然后每一个 a 标签包含一个图片。
我们要取到表情包,就是要取得 a 标签包含的图片 url,我们可以利用 xpath 语法。
获取 img 标签取到的 img 有 gif 的信息,我们需要过滤掉
imgs = html.xpath(’//div[@class=“page-content text-center”]//img[@class!=“gif”]’)
在这里插入图片描述

3.代码

import requests
from lxml import etree
import os
from time import *
# 开始时间
start = time()
# 定义一个函数来解析网页
def parse_page(url):
    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
    }
    response = requests.get(url,headers=headers)
    # print(response.text)
    # 网页源码
    text = response.text
    html = etree.HTML(text)
    # 获取Img 并且把gif的图片过滤掉
    imgs = html.xpath('//div[@class="page-content text-center"]//img[@class!="gif"]')
    for img in imgs:
        #print(etree.tostring(img))
        # 获取每张图片的url
        img_url = img.get('data-original')
        # # 获取图片的名字
        alt = img.get('alt')
        # # 在os模块中可以很好的分割字符,比如这种带.的数据
        suffix = os.path.splitext(img_url)[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值