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批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
python opencv 直方图反向投影的方法
Feb 24 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
python里dict变成list实例方法
Jun 26 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
python对execl 处理操作代码
Jun 22 Python
Django权限控制的使用
Jan 07 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 Python
手残删除python之后的补救方法
Jun 26 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
一个显示天气预报的程序
2006/10/09 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python中列表(list)操作方法汇总
2014/08/18 Python
python迭代器与生成器详解
2016/03/10 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python机器学习之神经网络(二)
2017/12/20 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书