python打包flask项目exe

以采集某电影网站的最新电影为例:

import os  # 目录结构处理模块
import requests
from bs4 import BeautifulSoup
from flask import Flask, render_template
import webbrowser



app = Flask(__name__)

@app.route('/')
def index():
    movie_list = getMostNewMoview(indexUrl)
    #print(movie_list)
    # movie_list=[{'title': 'daaad', 'url': 'http://www.baidu.com'}]
    return render_template('index.html', url_list=movie_list )

# 初始化配置参数
path = 'data/images/'  # 图片存放目录
indexUrl = 'https://www.dytt8.net'
limit_time = 60 #限制请求超时时间(单位秒)

if not os.path.exists(path):
    os.makedirs(path)


def getMostNewMoview(url):
    headers = {'User-Agent': 'User-Agent:Mozilla/5.0'}
    res = requests.get(url, headers=headers)
    res.encoding = 'gb2312'
    soup = BeautifulSoup(res.text, 'html.parser')
    movie_new = soup.find(attrs={'class': 'co_content8'})
    movie_new = movie_new.find_all('td')

    movie_list = []
    num = 0
    for li in movie_new:
        if num > 1:
            movie_new_li = li.find_all('a')
            if len(movie_new_li) > 0:
                movie_new_title = movie_new_li[1].string
                movie_new_url = indexUrl + movie_new_li[1]['href']
                print(movie_new_title)
                # print(movie_new_url)
                mag_url, ftp_url = getMovieDownUrl(movie_new_url)
                movie_list.append({'title': movie_new_title, 'mag_url': mag_url, 'ftp_url': ftp_url})
        num += 1
    return movie_list


def getMovieDownUrl(url=None):
    # url = 'https://www.dytt8.net/html/gndy/dyzz/20181209/57919.html'
    headers = {'User-Agent': 'User-Agent:Mozilla/5.0'}
    res = requests.get(url, headers=headers)
    res.encoding = 'gb2312'
    soup = BeautifulSoup(res.text, 'html.parser')
    soup = soup.find(attrs={'class': 'co_content8'})
    # ftp_url = soup.find('table').find('td').find('a')['href']
    mag_url = soup.find_all('a')[0]['href']
    ftp_url = soup.find_all('a')[1]['href']
    return mag_url, ftp_url
    # print(mag_url)
    # print(ftp_url)


if __name__ == '__main__':
    # getMostNewMoview(indexUrl)
    # getMovieDownUrl()
    webbrowser.open('http://127.0.0.1:5000/', 0, False)
    app.run()





index.html

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<p style="color: red">提示:推荐使用磁力下载方式,下载前先安装好迅雷!</p>
{% for post in url_list %}
<p>{{post.title}} <a href="{{post.mag_url}}"> 磁力下载地址 </a>&nbsp; <a href="{{post.ftp_url}}">ftp下载地址</a></p>
{% endfor %}
</body>
</html>

开始打包

1、安装pyinstaller 

pip install pyinstaller

2、python pyinstaller.py -F G:\moviedown\mainPro.py

打包完后会有两个文件夹生成:dist、build,exe在dist文件夹下

如果要让flask对应的网页正常打开,需要将templates文件夹复制到dist目录下

然后点击exe文件运行

 

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Python打包Flask项目可以使用多种工具,其中两个常用的工具是cx_Freeze和PyInstaller。 引用\[2\]中提到了cx_Freeze,它是一个流行的Python打包工具,可以将Python应用程序转换为可执行文件或打包成ZIP文件。与PyInstaller不同,cx_Freeze可以生成Windows、Linux和macOS上的可执行文件。它可以自动识别和打包Python应用程序的所有依赖项,并支持多个Python版本。 另一个工具是PyInstaller,它可以将Python应用程序打包成独立的可执行文件,适用于Windows、Linux和macOS。PyInstaller可以将整个Flask项目打包成一个可执行文件,括所有的依赖项和静态文件。它还提供了一些选项,可以自定义打包的方式和生成的可执行文件的特性。 使用这些工具,你可以将Flask项目打包成可执行文件,以便在不同平台上部署和运行。 #### 引用[.reference_title] - *1* [Flask打包部署python项目](https://blog.csdn.net/chuta9217/article/details/100617765)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [将python项目(django/flask)打包exe和安装](https://blog.csdn.net/General_zy/article/details/121307835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoveWeeknd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值