使用pyinstaller打包后os获取当前可执行文件所在路径,自动执行scrapy

11 篇文章 0 订阅
2 篇文章 0 订阅
本文介绍如何使用Python的os模块和PyInstaller将Scrapy爬虫项目打包成可执行文件,并通过命令行调用指定的爬虫进行抓取。文中提供了完整的代码示例,包括路径处理和执行Scrapy命令的方法。
摘要由CSDN通过智能技术生成

先上正确的代码,使用realpath:

from os import path
import sys
file_path = path.dirname(path.realpath(sys.argv[0])) + '\\spiders'

实现爬虫中,模拟cmd命令scrapy crawl 爬虫文件名,通过打包形成可执行文件,该执行文件需放到和spiders文件夹同级目录下

全部代码,main_get_news.py:

# 模拟cmd命令scrapy crawl qxyj
from os import system, path
import sys
# os.path.realpath()先处理路径中的符号链接,再返回绝对路径前文件所在目录的绝对路径
file_path = path.dirname(path.realpath(sys.argv[0])) + '\\spiders'
# 返回python解释器的路径,这个也可以,仅仅针对生成可执行文件时使用
# file_path = path.dirname(sys.executable) + '\\spiders'
print("路径地址:", file_path)
if path.exists(file_path):
    system('cd {} && scrapy crawl qxyj'.format(file_path))
else:
    print("执行失败!该执行文件需放在和spiders文件夹同级目录下!")
input("按回车键退出...")

再通过pyinstaller打包:pyinstaller -F main_get_news.py即可

之后还可以通过用户输入爬虫名的方式,更灵活的使用

还可以了解一下subprocess:

subprocess.Popen('notepad.exe D:\\123.txt')
subprocess.Popen('notepad.exe D:\\123.txt',shell=True)
subprocess.Popen(['notepad.exe','D:\\123.txt'])
使用 PyInstaller 打包一个单独的可执行文件,你可以按照以下步骤进行操作: 1. 安装 PyInstaller使用 pip 命令安装 PyInstaller 库。在命令行中运行以下命令: ``` pip install pyinstaller ``` 2. 创建你的 Python 脚本:编写你的 Python 程序,并确保它能够在 Python 解释器中正常运行。 3. 使用 PyInstaller 生成可执行文件:在命令行中切换到你的 Python 脚本所在的目录,然后运行以下命令: ``` pyinstaller --onefile your_script.py ``` 其中,`your_script.py` 是你的 Python 脚本的文件名。 运行上述命令后,PyInstaller 会分析你的 Python 脚本,并将其与所需的依赖项打包成一个单独的可执行文件。 4. 查找生成的可执行文件:在运行 PyInstaller 命令后,它会在当前目录中创建一个 `dist` 目录。在 `dist` 目录中,你将找到生成的可执行文件。 请注意,生成的可执行文件可能会比较大,因为它包含了 Python 解释器和你的程序的所有依赖项。使用 `--onefile` 选项可以将所有内容打包到一个单独的可执行文件中。如果不使用 `--onefile` 选项,则会生成一个包含多个文件文件夹。 另外,如果你的程序依赖于一些外部文件(如图像、数据文件等),你需要确保这些文件可执行文件放在同一个目录中,或者使用相对路径来引用这些文件。 希望这对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值