Python开发个人专属表情包网站,表情在手,天下我有
程序员文章站
2022-04-10 11:50:03
“表情包”是一种利用图片来表示感情的一种方式。表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情。 曾经你是否也有过找不到表情包去应对别人的时候。 今天小编分享如何用Python开发个人专属的表情包网站,想用什么表情包搜一下就有了! 本篇内容分为两部分: 一、 ......
“表情包”是一种利用图片来表示感情的一种方式。表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情。
曾经你是否也有过找不到表情包去应对别人的时候。
今天小编分享如何用Python开发个人专属的表情包网站,想用什么表情包搜一下就有了!
本篇内容分为两部分:
一、爬取表情包存入数据库
二、开发个人专属网站
一、爬取表情包存入数据库
IDE:根据个人喜好
环境:Windows+Python3.6
模块
import requests import re import pymysql
完整代码
1 import requests 2 import re 3 import pymysql 4 5 # 连接数据库 6 #Python学习交流群:125240963,群内每天分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎各位小伙伴入群学习交流 7 db = pymysql.connect(host = '127.0.0.1',port = 3306,db = 'db',user = 'root',passwd = 'root',charset = 'utf8') 8 # 创建游标 9 cursor = db.cursor() 10 # cursor.execute('select * from images') 11 # print(cursor.fetchall()) 12 13 # 小驼峰 14 # 注释 获取图片列表 15 def getImagesList(page): 16 # 获取斗图网源代码 17 html = requests.get('http://www.doutula.com/photo/list/?page={}'.format(page)).text 18 # 正则表达式 通配符 .*? 匹配所有 分组匹配 19 reg = r'data-original="(.*?)".*?alt="(.*?)"' 20 # 增加匹配效率的 S 多行匹配 21 reg = re.compile(reg,re.S) 22 imagesList = re.findall(reg,html) 23 for i in imagesList: 24 image_url = i[0] 25 image_title = i[1] 26 # format 字符串格式化 %s 27 cursor.execute("insert into images(`name`,`imageUrl`) values('{}','{}') ".format(image_title,image_url)) 28 print('正在保存 %s'%image_title) 29 db.commit() 30 # range 范围 1<=X<1000 31 for i in range(1,1001): 32 print('第{}页'.format(i)) 33 getImagesList(i)
运行效果图
开发个人专属网站:
模块
from flask import Flask from flask import render_template from flask import request import pymysql
完整代码
1 from flask import Flask 2 from flask import render_template 3 from flask import request 4 import pymysql 5 6 # 404 页面未找到 7 #Python学习交流群:125240963,群内每天分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎各位小伙伴入群学习交流 8 app = Flask(__name__) 9 10 # 装饰器 11 @app.route('/') # route 路由 12 def index(): 13 # return "hello world" 14 return render_template('index.html') 15 16 @app.route('/search') 17 def search(): 18 # 接收用户关键字 19 keyword = request.args.get('kw') 20 count = request.args.get('count') 21 cursor.execute("select * from images where name like '%{}%'".format(keyword)) 22 data = cursor.fetchmany(int(count)) 23 return render_template('index.html',images = data) 24 25 # 程序的入口 26 if __name__ == '__main__': 27 db = pymysql.connect(host='127.0.0.1', port=3306, db='db', user='root', passwd='root', charset='utf8',cursorclass = pymysql.cursors.DictCursor) 28 # 创建游标 29 cursor = db.cursor() 30 # 调试模式 31 # port 端口号 默认5000 32 app.run(debug=True,port=8000)
效果图: