Python爬虫一键爬取海量表情包,分分钟碾压斗图狂魔!【附源码】

本文介绍了如何使用Python的requests和BeautifulSoup库抓取网页中的表情包图片,包括获取HTML内容、定位图片元素、提取数据-URL和标题,以及下载图片的过程。作者还提及了一份全面的Python开发学习资料,覆盖了前端开发基础知识和进阶课程。
摘要由CSDN通过智能技术生成

需要传入的参数:网站的域名以及请求头

如果想获取文本数据,那么久调用requests中内置的text方法返回文本数据,如果想要获取二进制数据则使用内置的content方法。

3.获取数据后使用bs4对页面数据进行提取

因为一个页面包含的数据太多了,例如:搜索框、页面广告、ICP备案号等等。但是我们只是想要获取页面中的表情包图片,那该怎么办呢?这时候我们就需要用到一个非常好用的第三方包:bs4

使用方法:

1.在浏览器中按住f12调出开发者工具,点击Elements,之后点击元素选择器(左边的小箭头),之后选中页面上的图片,左键点击。浏览器就会帮助我们定位图片所在html代码的位置

2.看到被选中的标签后,查看当前图片的元素标签,当前标签是img,观察当前标签中的属性,有一个class属性,复制该属性的值

3.调用方法:find_all(‘img’, class_=‘ui image lazy’),调用之后会返回图片标签的列表

4.对列表进行循环,将img标签中的data-original属性的值提取出来

for i in img_list:

image_url = i[‘data-original’]

5.提取完成之后将会获得当前页面所有的图片标签,我们对当前获取的链接进行二次请求并使用python内置的with open方法将图片数据下载到本地

with open(‘./’ + ‘图片名称’ + ‘文件后缀名’, ‘wb’) as f:

image_data = requests.get(image_url, headers=headers).content

f.write(image_data)

至此,一个简单的微信表情包爬虫就制作完成。

在这里插入图片描述

三、源码


import os

import requests

from bs4 import BeautifulSoup

if not os.path.exists(‘./images/’):

os.mkdir(‘./images/’)

headers = {

‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36’

}

url = ‘https://fabiaoqing.com/biaoqing/lists/page/1.html’

response = requests.get(url, headers=headers).text

‘’’

lxml: html解析库,因为python和html两者没有关系

python没有办法直接控制html代码

我们就需要使用lxml这个库将html代码转成python对象

需要大家去下载 pip install lxml

‘’’

soup = BeautifulSoup(response, ‘lxml’)

img_list = soup.find_all(‘img’, class_=‘ui image lazy’)

for img in img_list:

img_url = img[‘data-original’]

img_title = img[‘title’]

print(img_url, img_title)

try:

with open(‘./images/’ + img_title + os.path.splitext(img_url)[-1], ‘wb’) as f:

‘’’

因为一张图片是二进制数据

如果我们使用text文本形式返回

会对文件造成破坏

使用content去返回原始数据

‘’’

image = requests.get(img_url, headers=headers).content

写入二进制数据 image这个变量是存储requests返回的二进制数据的

f.write(image)

print(‘保存成功:’, img_title)

except:

pass

在这里插入图片描述

粉丝专属福利
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码表情源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值