当前位置:网站首页>咱就是说 随便整几千个表情包为我所用一下
咱就是说 随便整几千个表情包为我所用一下
2022-07-01 02:52:00 【小熊猫爱恰饭】
前言
在如今这个人人配一台手机得时代,很多人聊天都是通过网上,但是,怎么样快速缓解尴尬进入快乐而愉快得聊天呢~
刚认识的朋友丢几个表情包出去分分钟拉进关系,女朋友生闷气了整两个表情包开心一下,也可以化解尴尬,没时间打字整两张表情包,礼貌而不失尴尬。不知道回啥时,那更是丢张表情包分分钟钟解决
现在年轻人聊天,不带点表情包都不好意思说自己是年轻人, 表情包已然成为人与人聊天中不可缺少的部分。

准备工作 (https://jq.qq.com/?_wv=1027&k=Ap5XvyNN)
准备工作很重要,先知道我们要干啥,用什么来做,怎么做,再去一步步实时,稳扎稳打。
开发环境配置
- Python 3.6
- Pycharm
如果有没安装得小伙伴可以左侧主页领取或者私信我领取安装教程~
模块安装配置
- requests
- parsel
- re
第三方模块,我们需要安装: (https://jq.qq.com/?_wv=1027&k=Ap5XvyNN)
win + R 输入cmd 输入安装命令 pip install 模块名 如果出现爆红 可能是因为 网络连接超时 切换国内镜像源
在pycharm中点击Terminal(终端) 输入安装命令
如何配置pycharm里面的python解释器?
选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
点击齿轮, 选择add
添加python安装路径
pycharm如何安装插件?
- 选择file(文件) >>> setting(设置) >>> Plugins(插件)
- 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
- 选择相应的插件点击 install(安装) 即可
- 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

代码
目标:fabiaoqing
地址前面后面大家自己补全一下,包括后面代码里的,这应该没有不会的吧。
导入模块
import requests
import parsel
python学习交流群:660193417 ###
import re
import time
请求网址
url = f'fabiaoqing/biaoqing/lists/page/{page}.html'
请求头
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'
}
返回网页源代码 (https://jq.qq.com/?_wv=1027&k=Ap5XvyNN)
response = requests.get(url=url, headers=headers)
获取数据
# 第一次提取 提取所有的div标签内容
divs = selector.css('#container div.tagbqppdiv') # css 根据标签提取内容
# 通过标签内容提取他的图片url地址
img_url = div.css('img::attr(data-original)').get()
# 提取标题
title = div.css('img::attr(title)').get()
# 获取图片的后缀名
name = img_url.split('.')[-1]
保存数据
new_title = change_title(title)
对表情包图片发送请求 获取它二进制数据
img_content = requests.get(url=img_url, headers=headers).content
保存数据
def save(title, img_url, name):
img_content = get_response(img_url).content
try:
with open('img\\' + title + '.' + name, mode='wb') as f:
# 写入图片二进制数据
f.write(img_content)
print('正在保存:', title)
except:
pass
# 替换标题中的特殊字符python学习交流群:660193417 ###
# 因为文件命名不明还有特殊字符,所以我们需要通过正则表达式替换掉特殊字符。
def change_title(title):
new_title = re.sub(mode, "_", title)
return new_title
记录时间
time_2 = time.time()
use_time = int(time_2) - int(time_1)
print(f'总共耗时:{use_time}秒')
多线程 (https://jq.qq.com/?_wv=1027&k=Ap5XvyNN)
import requests
import parsel
import re
import time
import concurrent.futures
def change_title(title):
new_title = re.sub(mode, "_", title)
return new_title
def get_response(html_url):
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'
}
repsonse = requests.get(url=html_url, headers=headers)
return repsonse
def save(title, img_url, name):
img_content = get_response(img_url).content
try:
with open('img\\' + title + '.' + name, mode='wb') as f:
f.write(img_content)
print('正在保存:', title)
except:
pass
def main(html_url):
html_data = get_response(html_url).text
selector = parsel.Selector(html_data)
divs = selector.css('#container div.tagbqppdiv')
for div in divs:
img_url = div.css('img::attr(data-original)').get()
title = div.css('img::attr(title)').get()
name = img_url.split('.')[-1]
new_title = change_title(title)
save(new_title, img_url, name)
if __name__ == '__main__':
time_1 = time.time()
exe = concurrent.futures.ThreadPoolExecutor(max_workers=10)
for page in range(1, 201):
url = f'fabiaoqing/biaoqing/lists/page/{page}.html'
exe.submit(main, url)
exe.shutdown()
time_2 = time.time()
use_time = int(time_2) - int(time_1)
print(f'总共耗时:{use_time}秒')


我是小熊猫,咱下篇文章见啦(*◡‿◡)

边栏推荐
- If I am in Beijing, where is a better place to open an account? In addition, is it safe to open a mobile account?
- How do I hide div on Google maps- How to float a div over Google Maps?
- 产业互联网中,「小」程序有「大」作为
- Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip
- 鼠标悬停效果五
- Detailed data governance knowledge system
- 股票开户安全吗?上海股票开户步骤。
- Mouse over effect IV
- [applet project development -- JD mall] uni app commodity classification page (first)
- RestCloud ETL实践之无标识位实现增量数据同步
猜你喜欢

Applet custom top navigation bar, uni app wechat applet custom top navigation bar

记一次服务部署失败问题排查

Pychart software deployment gray unable to point

Here comes the share creators budding talent training program!

Const and the secret of pointers

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)

AI 边缘计算平台 - BeagleBone AI 64 简介

Network address translation (NAT) technology

Detailed explanation of pointer array and array pointer (comprehensive knowledge points)

Communication protocol -- Classification and characteristics Introduction
随机推荐
robots.txt限制搜索引擎收录
Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and
Dart training and sphygmomanometer inflation pump power control DPC
JS to find duplicate elements in two arrays
Od modify DLL and exe pop-up contents [OllyDbg]
How do I hide div on Google maps- How to float a div over Google Maps?
Detailed explanation of pointer array and array pointer (comprehensive knowledge points)
How to buy Hong Kong shares in China? What platform is safer?
[applet project development -- JD mall] uni app commodity classification page (first)
PCB defect detection based on OpenCV and image subtraction
7_ Openresty installation
kubernetes资源对象介绍及常用命令(二)
Restcloud ETL实践之数据行列转换
Mouse over effect 9
MnasNet学习笔记
在国内如何买港股的股?用什么平台安全一些?
Sampling Area Lights
Complete training and verification of a neural network based on pytorch
Record a service deployment failure troubleshooting
Résumé des styles de développement d'applets Wechat