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之yield表达式学习
Sep 02 Python
Python脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
关于python3中setup.py小概念解析
Aug 22 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python-jenkins 获取job构建信息方式
May 12 Python
在主流系统之上安装Pygame的方法
May 20 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
php5中类的学习
2008/03/28 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
巧用canvas
2017/01/21 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
Python压缩和解压缩zip文件
2015/02/14 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
应届护士求职信范文
2014/01/26 职场文书
机关作风建设整改方案
2014/10/27 职场文书
2015年班组长工作总结
2015/04/10 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书