社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python开发个人专属表情包网站,表情在手,天下我有

python • 6 年前 • 309 次点击  



“表情包”是一种利用图片来表示感情的一种方式。表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情。

曾经你是否也有过找不到表情包去应对别人的时候。

今天小编分享如何用Python开发个人专属的表情包网站,想用什么表情包搜一下就有了!

本篇分为两部分


1、爬取表情包存入数据库

2、搭建个人个人专属表情网站


爬取包情包存入数据库

环境:Windows+Python3.6

IDE:个人喜好

模块

import requests
import re
import pymysq


完整代码

import requests
import re
import pymysql
# 连接数据库
db = pymysql.connect(host = '127.0.0.1',port = 3306,db = 'db',user = 'root',passwd = 'root' ,charset = 'utf8')
# 创建游标
cursor = db.cursor()
# cursor.execute('select * from images')
# print(cursor.fetchall())
# 小驼峰
# 注释  获取图片列表
def getImagesList(page):
   # 获取斗图网源代码
   html = requests.get('http://www.doutula.com/photo/list/?page={}'.format(page)).text
   # 正则表达式  通配符  .*?  匹配所有   分组匹配
   reg = r'data-original="(.*?)".*?alt="(.*?)"'
   # 增加匹配效率的  S 多行匹配
   reg = re.compile(reg,re.S)
   imagesList = re.findall(reg,html)
   for i in imagesList:
       image_url = i[0]
       image_title = i[1]
       # format 字符串格式化  %s
       cursor.execute("insert into images(`name`,`imageUrl`) values('{}','{}') ".format(image_title,image_url))
       print('正在保存 %s'%image_title)
       db.commit()
# range 范围      1<=X<1000
for i in range(1,1001):
   print('第{}页'.format(i))
   getImagesList(i)


效果图



网站开发


使用的框架是Flask

from flask import Flask
from flask import render_template
from flask import request
import pymysql
# 404 页面未找到
app = Flask(__name__)
# 装饰器
@app.route('/')  # route 路由
def index():
   # return "hello world"
   return render_template('index.html')
@app.route('/search')
def search():
   # 接收用户关键字
   keyword = request.args.get('kw')
   count = request.args.get('count')
   cursor.execute("select * from images where name like '%{}%'".format(keyword))
   data = cursor.fetchmany(int(count))
   return render_template('index.html',images = data)
# 程序的入口
if __name__ == '__main__':
   db = pymysql.connect(host='127.0.0.1', port=3306, db='db', user='root', passwd='root', charset='utf8',cursorclass = pymysql.cursors.DictCursor)
   # 创建游标
   cursor = db.cursor()
   # 调试模式
   # port  端口号 默认5000
   app.run(debug=True,port=8000)

运行效果图




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/TUp5fFP2Nu
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/13125
 
309 次点击