Python開發個人專屬表情包網站

「表情包」是一種利用圖片來表示感情的一種方式。表情包是在社交軟體活躍之後,形成的一種流行文化,表情包流行於互聯網上面,基本人人都會發表情。

曾經你是否也有過找不到表情包去應對別人的時候。

今天小編分享如何用Python開發個人專屬的表情包網站,想用什麼表情包搜一下就有了!

本篇分為兩部分

1、爬取表情包存入資料庫

2、開發個人專屬網站

準備

環境:Windows + Python 3.6

IDE : 根據個人喜好,自行選擇

爬虫部分模塊

import requests
import re
import pymysq

網站開發部分模塊

from flask import Flask
from flask import render_template
from flask import request
import pymysql

一、爬取表情包存入資料庫

import requests
import re
import pymysql
# 連接資料庫
#Python學習交流群:125240963,群內每天分享乾貨,包括最新的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 = rdata-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)

效果圖

二、個人專屬網站開發

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)

效果圖

推薦閱讀:

TAG:Python | 網站開發 | Flask |