女同桌找我要表情包,还好我会Python,分分钟给她下载几十个G...

emmm~

起因呢,这昨晚女同桌跟我说电脑有点卡,喊我去宿舍给她装个新系统,装系统就装系统吧,结果又说新系统表情包都没保存~

我当时就有点生气,真当我是万能的呢?

于是我直接就用Python给她爬了几十个G,完事扭头就走,任她怎么喊我也没用!

在这里插入图片描述

一、准备工作

使用的环境

  • python3.8 | Anaconda
  • pycharm

使用的模块

  • requests 第三方模块 需要手动安装
  • re 内置模块不需要安装

win+r 输入cmd ,确定后新窗口输入 pip install requests 即可安装成功。

插件安装

xpath helper扩展工具包

安装步骤:找助理老师获取xpath helper扩展工具包(注意:不要解压)
》》 打开Google浏览器 --> 更多工具 --> 扩展程序 --> 打开开发者模式 --> 把xpath helper扩展工具包直接拖入 --> 刷新
使用方法:快捷键 ctrl+shift+X

思路流程

1、分析数据来源
第一页:https://fabiaoqing.com/biaoqing/lists/page/1.html
多页 —> 第一页 --> 一个
2、实现代码

  • 发送请求,第一页数据
  • 获取数据
  • 解析数据,表情
  • 保存数据

二、效果展示

部分效果展示

三、代码解析

1、发送请求

第一页数据

url =  '  https://fabiaoqing.com/biaoqing/lists/page/1.html  '  headers = {  #  键值对  用户代理   浏览器的基本身份 
     '  User-Agent  ' :  '  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36  '  }
response
= requests.get(url, headers= headers) # <Response [200]> 响应对象 200 状态 成功 404 403 print (response)

 

2、获取数据

网页源代码

 print (response.text)

 

re 找规律

3、解析数据

.*? 精准匹配数据

re_data = re.findall( '  <img class="ui image lazy" data-original="(.*?)" src="/Public/lazyload/img/transparent.gif" title="(.*?)"  '  , response.text)  #  print(re_data) 

 #  for 循环 
 for  img  in  re_data:  #  print(img) 
     #  索引 [0]  [1] () 
     #  单个表情包链接 
    link = img[0]
suffix
= link.split( ' . ' )[-1 ] # print(suffix) # print(link) # 名字 title = img[1 ]
title
= re.sub(r ' [\/:*?"<>|] ' , '' ,title) # 二进制 content = requests.get(link, headers= headers).content # print(content)

 

4、保存数据

with open( '  表情包\\  '  + title + '  .  '  +suffix, mode= '  wb  '  ) as file:
file.write(content)
# 我也录制了对应的视频详细讲解,完整代码和视频都放在这个裙了 279199867

 

好了,今天的分享就到这里~

最后给大家分享一套Python教程:Python实战100例,希望对大家有所帮助!

标签: python

添加新评论