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 相关文章推荐
python通过pil模块获得图片exif信息的方法
Mar 16 Python
使用Python中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
mac系统安装Python3初体验
Jan 02 Python
简单谈谈python基本数据类型
Sep 26 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
python socket 聊天室实例代码详解
Nov 14 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
Elasticsearch 聚合查询和排序
Apr 19 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
php不使用插件导出excel的简单方法
2014/03/04 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
python中enumerate函数用法实例分析
2015/05/20 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
PyTorch预训练的实现
2019/09/18 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
直接有效的自我评价
2014/01/11 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
员工安全承诺书
2014/05/22 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
从事会计工作年限证明
2015/06/23 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS