“表情包”是一种利用图片来表示感情的一种方式。表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情。
曾经你是否也有过找不到表情包去应对别人的时候。
今天小编分享如何用Python开发个人专属的表情包网站,想用什么表情包搜一下就有了!
本篇分为两部分
1、爬取表情包存入数据库
2、开发个人专属网站
准备
环境:Windows + Python 3.6
IDE : 根据个人喜好,自行选择
爬虫部分模块
import requestsimport reimport pymysq
网站开发部分模块
from flask import Flaskfrom flask import render_templatefrom flask import requestimport pymysql
一、爬取表情包存入数据库
import requestsimport reimport pymysql# 连接数据库#Python 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<1000for i in range(1,1001): print('第{}页'.format(i)) getImagesList(i)
效果图
二、个人专属网站开发
from flask import Flaskfrom flask import render_templatefrom flask import requestimport 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)