templates 视图层
static css js
from flask import Flask, render_template, request
import requests
import re
import datetime
import random
from flask import Flask, session, redirect, url_for, escape, request
app = Flask(__name__)
app.secret_key = 'fkdjsafjdkfdlkjfadskjfadskljdsfklj'
# 主目录
@app.route('/')
def index():
if 'username' in session and 'pass' in session:
username = session['username']
url='https://s.weibo.com/top/summary'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.57'
}
response = requests.get(url,headers=headers).text
biaoti= re.findall(r'_blank">(.+?)</a>', response) # 正则表达式匹配
print(biaoti)
wb_1,wb_2,wb_3,wb_4,wb_5,wb_6,wb_7,wb_8,wb_9,wb_10=biaoti[0],biaoti[1],biaoti[2],biaoti[3],biaoti[4],biaoti[5],biaoti[6],biaoti[7],biaoti[8],biaoti[9]
return render_template('index.html', username=username,wb_1=wb_1,wb_2=wb_2,wb_3=wb_3,wb_4=wb_4,wb_5=wb_5,wb_6=wb_6,wb_7=wb_7,wb_8=wb_8,wb_9=wb_9,wb_10=wb_10 )
return render_template('lyear_pages_login_3.html')
##########################################################################
# 功能实现模块
# 抖音解析
@app.route('/result', methods=['POST', 'GET'])
def result():
if request.method == 'POST':
try:
result = request.form['URL']
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Mobile Safari/537.36 Edg/87.0.664.47'}
# 这里chrome的user-agent获取方式:在浏览器地址栏输入 about://version 即可得到结果
print(result)
url = result
na = re.findall(r"((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)",
url) # 正则表达式匹配
a = na[0]
url_a = a[0]
# 请求网页
response = requests.get(url_a)
# print(response.status_code) # 打印响应的状态码
url_2 = response.url # 打印重定向后的网址
n = re.findall(r"video/(.+?)/", url_2) # 正则表达式匹配
id = n[0]
url_3 = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=' + id
# print(url_3)
josn_1 = requests.get(url_3)
conten = josn_1.text
n2 = re.findall(r'playwm/?(.+?)"', conten) # 正则表达式匹配
shuiyin = 'https://aweme.snssdk.com/aweme/v1/play/' + n2[0]
print(shuiyin)
aa = requests.get(shuiyin, headers=headers)
zhu = aa.url
print(zhu)
return render_template("result.html",zhu=zhu)
except:
return render_template("douyinerror.html")
else:
return render_template("error.html")
# 快手解析
@app.route('/ks2', methods=['POST', 'GET'])
def ks():
if request.method == 'POST':
try:
result = request.form['URL']
na = result
na_1 = re.findall(
r"((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)",
na) # 正则表达式匹配
na_2 = na_1[0]
url = na_2[0]
# print(url)
headers = {
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'}
# 这里chrome的user-agent获取方式:在浏览器地址栏输入 about://version 即可得到结果
# 请求网页
response = requests.get(url, headers=headers)
redirect_url = response.url # 打印重定向后的网址
# print(redirect_url)
code = requests.get(url=redirect_url, headers=headers).text
# print(code)
n2 = re.findall(r'src="(.+?).mp4?', code) # 正则表达式匹配
final_url = n2[0] + '.mp4'
print(final_url)
return render_template("ks2.html", final_url=final_url)
except:
return render_template("error.html")
else:
return render_template("error.html")
# 图片
@app.route('/lyear_pages_gallery', methods=['POST', 'GET'])
def img():
if 'username' in session and 'pass' in session:
a = requests.get(
'https://api.bbs.lieyou888.com/post/list/ANDROID/1.1?start='
'1607339238000&count=20&versioncode=75&cat_id=106&sort_by=0&market_id=c'
'loudgame_wandoujia&platform=2&app_version=1.1.67&tag_id=10601&device_code=%5Ba%5D5d8d2c0ac683d2ab')
conten = a.json()
aa = conten['posts']
# print(aa)
i = 0
list = []
for name in aa:
# print(name['title'])
img = name['images']
for name2 in img:
i += 1
# print(i)
# print(name2)
list.append(name2)
num,num1,num2,num4,num5,num6,num7,num8,num9,num10,num11,num12,num13,num14,num15,num16,num17,num18,num19,num20=random.randint(0,5), random.randint(5,10), random.randint(10,15), random.randint(15,20), random.randint(20,25),random.randint(25, 30), random.randint(30, 35), random.randint(35, 40), random.randint(40, 45), random.randint(45,50),random.randint(50, 55), random.randint(55, 60), random.randint(60, 65), random.randint(65, 70), random.randint(70,75),random.randint(75, 80), random.randint(80, 85), random.randint(85, 90), random.randint(90, 95), random.randint(95,100)
img,img_1,img_2,img_3,img_4,img_5,img_6,img_7,img_8,img_9,img_10,img_11,img_12,img_13,img_14,img_15,img_16,img_17,img_18,img_19=list[num],list[num1],list[num2],list[num4],list[num5],list[num6],list[num7],list[num8],list[num9],list[num10],list[num11],list[num12],list[num13],list[num14],list[num15],list[num16],list[num17],list[num18],list[num19],list[num20]
return render_template('lyear_pages_gallery.html',
img_1=img_1,
img_2=img_2,
img_3=img_3,
img_4=img_4,
img_5=img_5,
img_6=img_6,
img_7=img_7,
img_8=img_8,
img_9=img_9,
img_10=img_10,
img_11=img_11,
img_12=img_12,
img_13=img_13,
img_14=img_14,
img_15=img_15,
img_16=img_16,
img_17=img_17,
img_18=img_18,
img_19=img_19,
img=img
)
##########################################################################
# 视图层
@app.route('/lyear_ui_cards')
def lyear_ui_cards():
if 'username' in session and 'pass' in session:
return render_template("lyear_ui_cards.html")
@app.route('/ks')
def ks_():
if 'username' in session and 'pass' in session:
return render_template("ks.html")
@app.route('/lyear_pages_gallery')
def img_():
# if 'username' in session and 'pass' in session:
return render_template("lyear_pages_gallery.html")
##########################################################################
@app.route('/login', methods=['GET', 'POST'])
# 登录
def login():
session.permanent = True
app.permanent_session_lifetime = datetime.timedelta(minutes=60) # 设置session到期时间
if request.method == 'POST':
session['username'] = request.form['username']
session['pass'] = request.form['pass']
session.permanent = True
user = request.form['username']
pwd = request.form['pass']
print(pwd)
if user == 'admin' and pwd == '123456':
return redirect(url_for('index'))
else:
error = '对不起,账号或密码错误,请重新输入'
return render_template('lyear_pages_login_3.html', error=error)
return render_template('lyear_pages_login_3.html')
@app.route('/logout')
# 退出
def logout():
# remove the username from the session if it is there
session.pop('username', None)
return redirect(url_for('index'))
####################################################################
if __name__ == '__main__':
app.run(debug=True)
© 版权声明
THE END
暂无评论内容