pyspider 是最好用的爬虫之一?

2016-12-13 19:23:22 +08:00
 only0jac
答:我不知道。折腾两天了,没用上。我傻。

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

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


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

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

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

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


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

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

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

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

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

累……

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

pip install pyspider
pyspider
浏览器打开, done

另外 PySpider 不需要 Python3....虽然兼容 3
binux
2016-12-13 19:51:43 +08:00
我是真不会用 windows
awolfly9
2016-12-13 19:54:23 +08:00
心疼楼主,我以前在 windows 上折腾的时候,也是各种报错。后来配了 mac 瞬间搞定
yanchao7511461
2016-12-13 20:04:47 +08:00
心疼 lz , ubuntu 上..... 30s 就 ok 了
yche
2016-12-13 20:05:21 +08:00
pip install ...
only0jac
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
2016-12-13 20:26:35 +08:00
作者出现了!
est
2016-12-13 21:01:13 +08:00
python 的 80% 新手问题是 windows 导致的。剩下的 80%又是编码或者路径问题。再剩下 80%的又是对语法和姿势不熟悉导致的
kslr
2016-12-13 21:11:16 +08:00
说到底都是自己的问题,基础不牢靠。
only0jac
2016-12-13 21:29:02 +08:00
@binux mac 下完美解决
EINDEX
2016-12-13 21:34:34 +08:00
arch 网速缓慢 一分钟搞定
daya
2016-12-13 21:37:12 +08:00
惊现作者
tonghuashuai
2016-12-13 21:39:06 +08:00
如果在 Windows 下折腾 Python 出现各种奇怪的问题,多半是环境问题
同意 @est 说的
shijingshijing
2016-12-14 00:15:07 +08:00
@binux 专程来感谢一下作者,这个东西写的真不错!
shijingshijing
2016-12-14 00:15:47 +08:00
@only0jac win 下面那个其实已经跑起来了,命令要输入 pyspider all ,然后回车,然后开浏览器进 WebUI
binux
2016-12-14 00:29:46 +08:00
@shijingshijing LZ 这个应该没有跑起来,只有 result_worker 线程启动了,其他的线程没有。

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

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

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

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

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

© 2021 V2EX