栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

Python爬虫 | 斗图网表情包抓取
  • 1、数据来源分析
  • 2、制作div_list
  • 3、发起请求
  • 4、保存图片
  • 5、批量获取
  • 6、完整代码
  • 声明


1、数据来源分析

  打开斗图吧的主页,发现网址非常有规律,通过页码数控制下一页的改变

页数网址
第一页https://www.doutub.com/img_lists/new/1
第二页https://www.doutub.com/img_lists/new/2

  并且,每张图片都是存在在div标签中的,因此首先要找到外层的div,最后对每一个img标签的src属性进行请求就行了

2、制作div_list

  利用xpath在网页中容易得到每一个div_list

  每一页共有50,也就意味着有50个表情包

3、发起请求

  利用循环,获取每一个div中获取img标签的src属性,并直接进行图片获取,并保存

4、保存图片

  将图片按照页码建立文件夹

5、批量获取

  利用循环,构造如下url即可

https://www.doutub.com/img_lists/new/{i]

6、完整代码
import requests
from fake_useragent import UserAgent
from lxml import etree
import os

if __name__ == '__main__':
	headers = {
	    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.44",
	}
	
	for i in range(1,11):
	    url = f"https://www.doutub.com/img_lists/new/{i}"
	    response = requests.get(url=url, headers=headers)
	    page=response.text
	    tree=etree.HTML(page)
	    div_list=tree.xpath('//div[@]/div')
	    
	    for  div in div_list:
	        if not os.path.exists(f'img/{i}'):
	            os.makedirs(f"img/{i}")
	        url=div.xpath('.//a//@src')[0]
	        data=requests.get(url=url,headers=headers).content
	        title=url.split("/")[-1]
	        with open( f'img/{i}/{title}',mode="wb") as fp:
	            fp.write(data)
	    print(f"第{i}页保存完成...")
声明

本文仅限于做技术交流学习,请勿用作任何非法商用!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号