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)

效果图:

猜你喜欢

转载自www.cnblogs.com/Python6359/p/9145052.html