V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hengz
V2EX  ›  Python

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

  •  
  •   hengz ·
    hengz · 2013-10-19 10:42:10 +08:00 · 11181 次点击
    这是一个创建于 4078 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用python的scrapy包写了个抓网站数据的程序,需要在命令行写scrapy crawl xxx来执行, xxx是我自己定义的spider文件,在spiders目录下

    现在希望能把这个基于scrapy的script程序打包成一个可以独立直接执行的exe文件(执行机器无需安装scrapy等),结果就是是类似csv表格文件呈现在窗口里。我用py2exe来build这个exe,按照py2exe教程我现在只能添加单个的.py文件并将其转为exe, 而scrapy需要执行的scrapy crawl xxx命令如何添加进去呢
    13 条回复    1970-01-01 08:00:00 +08:00
    xavierskip
        1
    xavierskip  
       2013-10-19 10:57:14 +08:00
    yelite
        2
    yelite  
       2013-10-19 11:07:43 +08:00
    argparse
    NFSwind
        3
    NFSwind  
       2013-10-19 11:12:16 +08:00
    py2exe
    yelite
        4
    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
        5
    hengz  
    OP
       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
        6
    hengz  
    OP
       2013-10-19 11:32:33 +08:00
    @yelite 你是指重新建一个.py文件,然后里面写import sys sys.argv=['<path>/scrapy.py', 'crawl', 'xxx']
    yelite
        7
    yelite  
       2013-10-19 11:36:04 +08:00
    @hengz 你的问题应该不是打包吧?你是想让自己的程序接收命令行参数吗?
    hengz
        8
    hengz  
    OP
       2013-10-19 11:43:32 +08:00
    @yelite 因为执行这个scrapy程序是需要在命令行执行scrapy crawl xxspider
    然后我想把整个打包成exe(包括里面的配置文件什么的),这样直接执行这个exe就可以了
    yelite
        9
    yelite  
       2013-10-19 12:10:57 +08:00
    @hengz 这个包好奇怪。。。居然是这么玩的
    打包scrapy目录里面cmdline.py试试?
    xavierskip
        10
    xavierskip  
       2013-10-19 13:23:04 +08:00
    哦,我不清楚 scrapy这个框架。

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

    反正打包的应该是执行程序的那个脚本。
    fork3rt
        11
    fork3rt  
       2013-10-19 15:04:40 +08:00 via Android
    我给我女朋友写的采集程序,用的py2exe转的。
    hengz
        12
    hengz  
    OP
       2013-10-19 17:55:42 +08:00
    @fork3rt 能简单介绍下吗
    Kabie
        13
    Kabie  
       2013-10-20 10:05:19 +08:00
    cx_freeze
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:03 · PVG 19:03 · LAX 03:03 · JFK 06:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.