Pyinstaller打包Scrapy项目的实现步骤


Posted in Python onSeptember 22, 2020

1.安装pyinstaller https://3water.com/article/177160.htm

2.安装pywin32 https://3water.com/article/187388.htm

3.安装其他模块

注意点:

scrapy用pyinstaller打包不能用

cmdline.execute('scrapy crawl douban -o test.csv --nolog'.split())

我用的是CrawlerProcess方式来输出

举个栗子:

1、在scrapy项目根目录下建一个crawl.py(你可以自己定义)如下图

Pyinstaller打包Scrapy项目的实现步骤

cralw.py代码如下

# -*- coding: utf-8 -*-
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from douban.spiders.douban_spider import Douban_spider

#打包需要的import
import urllib.robotparser
import scrapy.spiderloader
import scrapy.statscollectors
import scrapy.logformatter
import scrapy.dupefilters
import scrapy.squeues
import scrapy.extensions.spiderstate
import scrapy.extensions.corestats
import scrapy.extensions.telnet
import scrapy.extensions.logstats
import scrapy.extensions.memusage
import scrapy.extensions.memdebug
import scrapy.extensions.feedexport
import scrapy.extensions.closespider
import scrapy.extensions.debug
import scrapy.extensions.httpcache
import scrapy.extensions.statsmailer
import scrapy.extensions.throttle
import scrapy.core.scheduler
import scrapy.core.engine
import scrapy.core.scraper
import scrapy.core.spidermw
import scrapy.core.downloader
import scrapy.downloadermiddlewares.stats
import scrapy.downloadermiddlewares.httpcache
import scrapy.downloadermiddlewares.cookies
import scrapy.downloadermiddlewares.useragent
import scrapy.downloadermiddlewares.httpproxy
import scrapy.downloadermiddlewares.ajaxcrawl
import scrapy.downloadermiddlewares.chunked
import scrapy.downloadermiddlewares.decompression
import scrapy.downloadermiddlewares.defaultheaders
import scrapy.downloadermiddlewares.downloadtimeout
import scrapy.downloadermiddlewares.httpauth
import scrapy.downloadermiddlewares.httpcompression
import scrapy.downloadermiddlewares.redirect
import scrapy.downloadermiddlewares.retry
import scrapy.downloadermiddlewares.robotstxt
import scrapy.spidermiddlewares.depth
import scrapy.spidermiddlewares.httperror
import scrapy.spidermiddlewares.offsite
import scrapy.spidermiddlewares.referer
import scrapy.spidermiddlewares.urllength
import scrapy.pipelines
import scrapy.core.downloader.handlers.http
import scrapy.core.downloader.contextfactory

from douban.pipelines import DoubanPipeline
from douban.items import DoubanItem
import douban.settings

if __name__ == '__main__':
  setting = get_project_settings()
  process = CrawlerProcess(settings=setting)
  process.crawl(Douban_spider)
  process.start()

2、在crawl.py目录下pyinstaller crawl.py 生成dist,build(可删)和crawl.spec(可删)。

3、在crawl.exe目录下创建文件夹scrapy,然后到自己安装的scrapy文件夹中把VERSION和mime.types两个文件复制到刚才创建的scrapy文件夹中。

4、发布程序 包括douban/dist 和douban/scrapy.cfg 

如果没有scrapy.cfg无法读取settings.py和pipelines.py的配置

Pyinstaller打包Scrapy项目的实现步骤

5、在另外一台机器上测试成功

6、对于自定义的pipelines和settings,貌似用pyinstaller打包后的 exe无法读取到settings和pipelines,哪位高手看看能解决这个问题???

到此这篇关于Pyinstaller打包Scrapy项目的实现步骤的文章就介绍到这了,更多相关Pyinstaller打包Scrapy内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Python实现的百度站长自动URL提交小工具
Jun 27 Python
python文件写入实例分析
Apr 08 Python
django之常用命令详解
Jun 30 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
Django框架用户注销功能实现方法分析
May 28 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
Python常用模块函数代码汇总解析
Aug 31 Python
python实现图片素描效果
Sep 26 Python
解决python3输入的坑——input()
Dec 05 Python
python 批量将中文名转换为拼音
Feb 07 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 #Python
Python如何获取文件路径/目录
Sep 22 #Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 #Python
python 实现压缩和解压缩的示例
Sep 22 #Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 #Python
Pytho爬虫中Requests设置请求头Headers的方法
Sep 22 #Python
python 线程的五个状态
Sep 22 #Python
You might like
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php数组合并的二种方法
2014/03/21 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
详解PHP队列的实现
2019/03/14 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
php如何获取Http请求
2020/04/30 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
初三政治教学反思
2014/01/30 职场文书
高校教师自荐信范文
2014/03/13 职场文书
群众路线个人整改方案
2014/10/25 职场文书
感谢师恩主题班会
2015/08/17 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python