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实现的彩票机选器实例
Jun 17 Python
简单谈谈python中的语句和语法
Aug 10 Python
python统计中文字符数量的两种方法
Jan 31 Python
解决python Markdown模块乱码的问题
Feb 14 Python
python实现五子棋游戏
Jun 18 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
Python for循环与getitem的关系详解
Jan 02 Python
Python 定义只读属性的实现方式
Mar 05 Python
Python装饰器用法与知识点小结
Mar 09 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 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采集利器 Snoopy 试用心得
2011/07/03 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
python中引用与复制用法实例分析
2015/06/04 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Django如何自定义分页
2018/09/25 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python打印异常信息的两种实现方式
2019/12/24 Python
opencv+python实现均值滤波
2020/02/19 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
Python定义一个函数的方法
2020/06/15 Python
运行Python编写的程序方法实例
2020/10/21 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
php优化查询foreach代码实例讲解
2021/03/24 PHP
艺术爱好者的自我评价分享
2013/10/08 职场文书
有趣的广告词
2014/03/18 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
公司合作协议范文
2014/10/01 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
学生检讨书范文
2019/06/24 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL