统计
  • 文章总数:16 篇
  • 评论总数:0 条
  • 分类总数:12 个
  • 最后更新:2024年06月23日
原创Python3 本文章已被专题收录

项目1 Flask Web框架应用案例

本文阅读 3 分钟
首页 Python3 正文

项目1 Flask Web框架应用案例

Pyobject.zip

一、Flask 介绍

  1. 1. 介绍Flask
  2. Flask 是一个轻量级的 Python Web 框架,由 Armin Ronacher 在 2010 年创建。它被设计成简单易用、灵活可扩展的框架,旨在帮助开发者快速构建 Web 应用程序。相比于其他框架,如 Django,Flask 更加轻量级,它提供了基本的功能和结构,但允许开发者根据需求自由选择和集成其他库和工具。

二、项目介绍

  1. 你是某公司程序员,公司正在做安全分析人工智能,需要大量网上样品做分析训练,公司委派你来做这个程序。
  2. 样品图片网站: https://www.doutupk.com/

三、功能需求

  1. 功能需求:
  2. 1. 使用Python3编写代码,将样品链接全部获取。
  3. 2. 使用Python3中的Flask Web框架,展示样品链接HTML
  4. 3. 使用Python3中的Flask Web框架,编写搜索功能,接收Get请求变量,获取详细样品链接

四、实现思路

4.1 安装相关第三方库

  1. 打开cmd输入
  2. pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. pip3 install flask -i https://pypi.tuna.tsinghua.edu.cn/simple

4.2 部署Flask Web框架

  1. # 导入第三库
  2. from flask import Flask
  3. # 创建Flask应用
  4. app = Flask(__name__)
  5. # 定义路由和视图函数
  6. @app.route('/')
  7. def index():
  8. return "Hello, World"
  9. # 运行应用
  10. if __name__ == '__main__':
  11. app.run(host="0.0.0.0", port=9090, debug=True)

4.3 实现首页路由

  1. # 在Web框架代码新增以下参数
  2. # 导入第三库
  3. from flask import Flask,render_template
  4. @app.route('/')
  5. def index():
  6. return render_template("index.html")

index.html 首页

  1. # 在项目文件夹中,创建 templates 目录
  2. # 在templates目录,创建首页 index.html 代码如下:
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Title</title>
  8. </head>
  9. <style>
  10. body, html {
  11. height: 100%; /* 设置html和body的高度为100% */
  12. margin: 0; /* 去掉默认的边距 */
  13. }
  14. .full-background {
  15. background-image: url('https://static.iamxk.com/wp-content/uploads/2019/04/dc7f6d71-e155-40cc-8074-1fb927bbfbec-2.jpg'); /* 设置背景图 */
  16. height: 100%; /* 容器高度100% */
  17. width: 100%; /* 容器宽度100% */
  18. background-position: center; /* 背景图片居中显示 */
  19. background-repeat: no-repeat; /* 背景图片不重复 */
  20. background-size: cover; /* 背景图片覆盖整个容器 */
  21. position: absolute; /* 使用绝对定位 */
  22. }
  23. </style>
  24. <body>
  25. <div class="full-background"></div>
  26. </body>
  27. </html>

因首页HTML待开发,故使用404图片代替

4.4 实现搜索以及样品展示页面

  1. # 在Web框架代码新增以下参数
  2. # 导入第三库
  3. from flask import Flask,render_template, request
  4. @app.route('/img')
  5. def img():
  6. # 接收name参数
  7. name = request.args.get('name')
  8. # 判断name值name值是否为空
  9. if name:
  10. # 样品url拼接name参数
  11. url = f"https://www.pkdoutu.com/search?keyword={name}"
  12. # 模拟请求获取响应
  13. html = requests.get(url, headers=headers).text
  14. # 构造正则匹配规则
  15. # pattern = r'data-original="([^"]+)"'
  16. pattern = r'data-original="(.*?)"'
  17. # 使用正则匹配响应内容中的信息
  18. matches = re.findall(pattern, html)
  19. # 将查找到的参数,返回img.html页面
  20. return render_template('img.html', matches=matches)
  21. else:
  22. # 为空返回404页面
  23. return render_template("index.html")

img.html 样品展示页面

  1. # 在templates目录,创建样品展示页面 img.html 代码如下:
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>Flask Template Example</title>
  6. </head>
  7. <style>
  8. .box {
  9. width: 100%;
  10. margin: 0 auto;
  11. }
  12. @media screen and (max-width: 1080px) {
  13. img {
  14. height: 125px;
  15. }
  16. }
  17. </style>
  18. <body>
  19. <div class="box">
  20. {% for value in matches %}
  21. <img src="{{ value }}" width="200px" height="200px">
  22. {% endfor %}
  23. </div>
  24. </body>
  25. </html>

样品展示页面 效果

image-20240426120318696

完整代码

  1. # 导入第三库
  2. import requests
  3. import re
  4. from flask import Flask, render_template, request
  5. headers = {
  6. "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0"
  7. }
  8. # 创建Flask应用
  9. app = Flask(__name__)
  10. # 定义路由和视图函数
  11. @app.route('/')
  12. def index():
  13. return render_template("index.html")
  14. @app.route('/img')
  15. def img():
  16. # 接收name
  17. name = request.args.get('name')
  18. # 判断name值name值是否为空
  19. if name:
  20. url = f"https://www.pkdoutu.com/search?keyword={name}"
  21. html = requests.get(url, headers=headers).text
  22. pattern = r'data-original="([^"]+)"'
  23. matches = re.findall(pattern, html)
  24. return render_template('img.html', matches=matches)
  25. else:
  26. return render_template("index.html")
  27. # 运行应用
  28. if __name__ == '__main__':
  29. app.run(host="0.0.0.0", port=9090, debug=True)

来源:默认网盘

原创文章,作者:智企网络工作室,如若转载,请注明出处:https://www.harcker01.cn/index.php/archives/15/
简易TCP客户端与服务端连接程序 (Python3)
« 上一篇 04-26
智企网络工作室-微信公众号
下一篇 » 05-10

发表评论

  • 泡泡
  • 阿呆
  • 阿鲁
  • 蛆音娘
发表评论

作者信息

智企网络工作室
学习是一种信仰!
TA的最新作品

动态快讯

    请配置好页面缩略名选项

热门文章

标签TAG

热评文章

最近回复