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中实现两个字典(dict)合并的方法
Sep 23 Python
Python中的XML库4Suite Server的介绍
Apr 14 Python
在Python中使用lambda高效操作列表的教程
Apr 24 Python
Windows下PyMongo下载及安装教程
Apr 27 Python
Python二分法搜索算法实例分析
May 11 Python
Python中的ceil()方法使用教程
May 14 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
TensorFlow实现卷积神经网络
May 24 Python
OpenCV+Python识别车牌和字符分割的实现
Jan 31 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 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
把77A收信机改造成收音机
2021/03/02 无线电
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
python中__call__内置函数用法实例
2015/06/04 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
浅析python中while循环和for循环
2019/11/19 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
工作睡觉检讨书
2014/02/25 职场文书
服务口号大全
2014/06/11 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
个人总结与自我评价
2014/09/18 职场文书
催款函怎么写
2015/06/24 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
python中24小时制转换为12小时制的方法
2021/06/18 Python
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python