小白问下,用python的scrapy写了个抓网站数据的程序,如何打包成exe?

2013-10-19 10:42:10 +08:00
 hengz
我用python的scrapy包写了个抓网站数据的程序,需要在命令行写scrapy crawl xxx来执行, xxx是我自己定义的spider文件,在spiders目录下

现在希望能把这个基于scrapy的script程序打包成一个可以独立直接执行的exe文件(执行机器无需安装scrapy等),结果就是是类似csv表格文件呈现在窗口里。我用py2exe来build这个exe,按照py2exe教程我现在只能添加单个的.py文件并将其转为exe, 而scrapy需要执行的scrapy crawl xxx命令如何添加进去呢
11013 次点击
所在节点    Python
13 条回复
xavierskip
2013-10-19 10:57:14 +08:00
yelite
2013-10-19 11:07:43 +08:00
argparse
NFSwind
2013-10-19 11:12:16 +08:00
py2exe
yelite
2013-10-19 11:12:23 +08:00
argparse好像太重了。。。
如果你只有这样一条命令的话,可以直接import sys, 然后sys.argv
如果是scrapy crawl xxx的话,
sys.argv=['<path>/scrapy.py', 'crawl', 'xxx']
hengz
2013-10-19 11:26:53 +08:00
@xavierskip

项目有这些文件,
items.py
pipelines.py
settings.py
spiders目录下有spider_us.py name为xxspider

目前执行是scrapy crawl xxspider; 这样,pyinstaller去打包哪个py文件呢
hengz
2013-10-19 11:32:33 +08:00
@yelite 你是指重新建一个.py文件,然后里面写import sys sys.argv=['<path>/scrapy.py', 'crawl', 'xxx']
yelite
2013-10-19 11:36:04 +08:00
@hengz 你的问题应该不是打包吧?你是想让自己的程序接收命令行参数吗?
hengz
2013-10-19 11:43:32 +08:00
@yelite 因为执行这个scrapy程序是需要在命令行执行scrapy crawl xxspider
然后我想把整个打包成exe(包括里面的配置文件什么的),这样直接执行这个exe就可以了
yelite
2013-10-19 12:10:57 +08:00
@hengz 这个包好奇怪。。。居然是这么玩的
打包scrapy目录里面cmdline.py试试?
xavierskip
2013-10-19 13:23:04 +08:00
哦,我不清楚 scrapy这个框架。

难道不是 import的,执行·python *.py·。而是另外的 ·scrapy crawl xxx· ,我不太明白。

反正打包的应该是执行程序的那个脚本。
fork3rt
2013-10-19 15:04:40 +08:00
我给我女朋友写的采集程序,用的py2exe转的。
hengz
2013-10-19 17:55:42 +08:00
@fork3rt 能简单介绍下吗
Kabie
2013-10-20 10:05:19 +08:00
cx_freeze

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX