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实现求笛卡尔乘积的方法
Sep 16 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python中的Django基本命令实例详解
Jul 15 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
.img/.hdr格式转.nii格式的操作
Jul 01 Python
Python如何定义有可选参数的元类
Jul 31 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 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
python文件编写好后如何实践
2020/07/07 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
护士自我鉴定范文
2013/10/06 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书