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
only0jac
V2EX  ›  Python

pyspider 是最好用的爬虫之一?

  •  
  •   only0jac · 2016-12-13 19:23:22 +08:00 · 7654 次点击
    这是一个创建于 2692 天前的主题,其中的信息可能已经有所发展或是发生改变。
    答:我不知道。折腾两天了,没用上。我傻。

    我先是在 win 上安装的,安装完后看了下文档,直接运行 pyspider ,然后在 web 中写代码?(一脸懵逼)

    好吧,那就命令行运行 pyspider ,出现如下:


    (此时我以为这就行了)
    打开 localhost:5000 ,无法连接?什么鬼?

    卸载重装,又重启系统,终于成功一次,原来后面还有……

    打开后没样式,看了下是又拍云的 cdn 不行,挂上梯子解决。

    总算是没问题了,赶紧 create 一个试试吧,用的 demo ,运行后:


    网络问题?应该不是,因为我直接访问 start_url 是可以打开的,并且我也挂了全局梯子( 127.0.0.1 不走代理),也是不行。

    这个问题到目前为止都没解决,心想难道是 win 系统问题?问了下别人,别人也说有这个问题,但只是偶尔出现,并非像我一样一直是这样。

    那我换到 linux 下试试吧,centos7 ,virtualenv ……

    进入虚拟环境,继续命令行 pyspider ,这次直接报了一大堆错,挨个看,系统编码不行啊、没有 sqite3 模块啊(说是我编译 py3 的时候没弄完整,需要卸载 py3 重新编译,想想那个麻烦的过程,还是不编译了……)

    再次回到 win 下,结果就一直如图一,直接打不开了……

    累……

    希望有碰到过这种情况的同学能告知下,万分感激!
    25 条回复    2016-12-14 20:45:09 +08:00
    wingyiu
        1
    wingyiu  
       2016-12-13 19:30:30 +08:00
    心疼楼主
    9hills
        2
    9hills  
       2016-12-13 19:49:07 +08:00
    刚在 Mac 上试了一下, 30s 搞定

    pip install pyspider
    pyspider
    浏览器打开, done

    另外 PySpider 不需要 Python3....虽然兼容 3
    binux
        3
    binux  
       2016-12-13 19:51:43 +08:00   ❤️ 1
    我是真不会用 windows
    awolfly9
        4
    awolfly9  
       2016-12-13 19:54:23 +08:00
    心疼楼主,我以前在 windows 上折腾的时候,也是各种报错。后来配了 mac 瞬间搞定
    yanchao7511461
        5
    yanchao7511461  
       2016-12-13 20:04:47 +08:00
    心疼 lz , ubuntu 上..... 30s 就 ok 了
    yche
        6
    yche  
       2016-12-13 20:05:21 +08:00
    pip install ...
    only0jac
        7
    only0jac  
    OP
       2016-12-13 20:26:04 +08:00
    @wingyiu 我也心疼自己

    @9hills 我在 mac 上试了下,发现 mac 的 py 版本 2.7 ,下载了个 py3 的包,安装完不知道咋用,刚吃饭回来继续搞,确实支持 2 和 3 ,主要是我一开始用的就是 3 ,没用过 2 ,用 2 安装完 pyspider 不知道能不能写 3 的代码?

    @binux 哈哈,没想到作者也来了,我是用 win 习惯了, mac 倒是有点不熟悉, win 上环境确实各种问题,唉,不说了

    @awolfly9 我再试试 mac
    @yanchao7511461 我在 centos 上弄也是挺多问题,主要是环境依赖,挺折腾人的,一会我装个 ubuntu 试试, 30sOK 不了回来打你

    @yche 这样是不行滴亲……
    lxy
        8
    lxy  
       2016-12-13 20:26:35 +08:00
    作者出现了!
    est
        9
    est  
       2016-12-13 21:01:13 +08:00
    python 的 80% 新手问题是 windows 导致的。剩下的 80%又是编码或者路径问题。再剩下 80%的又是对语法和姿势不熟悉导致的
    kslr
        10
    kslr  
       2016-12-13 21:11:16 +08:00
    说到底都是自己的问题,基础不牢靠。
    only0jac
        11
    only0jac  
    OP
       2016-12-13 21:29:02 +08:00
    @binux mac 下完美解决
    EINDEX
        12
    EINDEX  
       2016-12-13 21:34:34 +08:00
    arch 网速缓慢 一分钟搞定
    daya
        13
    daya  
       2016-12-13 21:37:12 +08:00 via Android
    惊现作者
    tonghuashuai
        14
    tonghuashuai  
       2016-12-13 21:39:06 +08:00
    如果在 Windows 下折腾 Python 出现各种奇怪的问题,多半是环境问题
    同意 @est 说的
    shijingshijing
        15
    shijingshijing  
       2016-12-14 00:15:07 +08:00
    @binux 专程来感谢一下作者,这个东西写的真不错!
    shijingshijing
        16
    shijingshijing  
       2016-12-14 00:15:47 +08:00
    @only0jac win 下面那个其实已经跑起来了,命令要输入 pyspider all ,然后回车,然后开浏览器进 WebUI
    binux
        17
    binux  
       2016-12-14 00:29:46 +08:00
    @shijingshijing LZ 这个应该没有跑起来,只有 result_worker 线程启动了,其他的线程没有。

    windows 的进程和 linux 是不一样, fork 的时候不会拷贝当前内存,导致队列等无法在进程间共享。
    所以 windows 下是用线程启动的,这可能导致很多不同。
    shijingshijing
        18
    shijingshijing  
       2016-12-14 00:34:39 +08:00
    @binux windows 下面结束的时候好像也有点问题,我在 Debian 下面跑, Ctrl+C 一按就灵,在 Win 下面,呵呵,按了还在等队列里面的都跑完,然后还一直打印输出 webui 运行在 5000 端口的提示。。。
    shijingshijing
        19
    shijingshijing  
       2016-12-14 00:36:17 +08:00
    @binux 还有就是我把 PhantomJS 干掉了,也会报楼主 win 下面那个提示,弄了个 VPS 小鸡跑这个抓静态网页,动态的放本地服务器跑,干掉 phantomJS 能省不少内存。。。
    binux
        20
    binux  
       2016-12-14 00:44:01 +08:00
    @shijingshijing phantomjs not found 是正常的, warning 而已。
    我不会 windows ,不了解 windows 的信号是怎么处理的。
    only0jac
        21
    only0jac  
    OP
       2016-12-14 09:12:22 +08:00 via Android
    @shijingshijing

    第一张图并没有跑起来,只是出现一个 warnning 一个 info 后就没有然后了,一直卡在这里,完整的跑起来是最后出现 0.0.0.0:5000

    @binux
    chenkun0128
        22
    chenkun0128  
       2016-12-14 09:15:35 +08:00
    心疼楼主+1
    VicYu
        23
    VicYu  
       2016-12-14 10:08:32 +08:00
    @binux 看这个标题,我以为是要撕逼了.
    zianeCui
        24
    zianeCui  
       2016-12-14 12:01:26 +08:00
    dsg001
        25
    dsg001  
       2016-12-14 20:45:09 +08:00
    win7+py3.5 , pip install pyspider ,安装完成直接打开,完全没问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2948 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:24 · PVG 22:24 · LAX 07:24 · JFK 10:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.