pyspider 是最好用的爬虫之一? - V2EX
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 8385 次点击
    这是一个创建于 3224 天前的主题,其中的信息可能已经有所发展或是发生改变。
    答:我不知道。折腾两天了,没用上。我傻。

    我先是在 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     Solana     2377 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 01:24 PVG 09:24 LAX 18:24 JFK 21:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86