如何用Gevent更快速的异步爬取内容

2012-09-14 00:03:56 +08:00
 cabinw
其实也不一定要用gevent,不过用了gevent之后效果的确不错

情况是这样,从IMDB id tt0000000 到 tt9999999遍历访问一遍豆瓣的电影信息,并保存电影信息。如果只是用线程,然后gevent.joinall(threads),效果好像不是很明显,有什么更好的办法么?

初学gevent,还处于不会的状态
9144 次点击
所在节点    Python
35 条回复
eric_q
2012-11-18 15:38:51 +08:00
cabinw
2012-11-18 16:18:56 +08:00
@chendahui007 我已经放弃爬了,会被封IP的
cabinw
2012-11-18 16:19:24 +08:00
@eric_q thanks,后来我也发现这个api了,看文档不够仔细阿,哈哈
chendahui007
2012-11-18 16:32:44 +08:00
@cabinw 那可以观摩你之前写的代码么?俺是新手,很新的手,没啥思路 ...`从IMDB id tt0000000 到 tt9999999遍历访问一遍豆瓣的电影信息 ` 这 它们怎么关联的 ,求思路
cabinw
2012-11-18 17:50:14 +08:00
@chendahui007 gtalk:cabinw#gmail.com
lj0014
2012-11-18 21:20:43 +08:00
楼主爬了多少豆瓣电影了,据说有40W,我现在就爬了7W~
cabinw
2012-11-18 22:28:28 +08:00
@lj0014 哈哈,我已经停止了,本来有10来万的样子,交流下?
lj0014
2012-11-19 10:13:07 +08:00
@cabinw 加你gtalk了
xi4nyu
2012-11-19 11:25:34 +08:00
多核机子上面应该对应核数启,才能达到最大性能.
feilaoda
2012-11-19 12:41:51 +08:00
@cabinw 用你的代码,也只爬了7w多的数据。不知道其他的链接怎么找到。
BigZ
2012-11-19 14:23:45 +08:00
异步?还快速?太黑了
丢我们采集界的脸

采集界有个原则,单线程同步采集,必要的时候还要sleep几秒
lj0014
2012-11-19 15:59:22 +08:00
@BigZ 我用scrapy 有限速的……
cabinw
2012-11-19 16:27:47 +08:00
@BigZ 汗~小白不懂规矩,在这里向采集界各位前辈赔礼道歉了~ Sorry!不过我最后没有这么做
sohoer
2012-11-19 17:05:06 +08:00
@BigZ 呵呵,混哪的
lemon1992
2013-12-16 16:56:58 +08:00
@BigZ 我觉着还好吧,异步的库足够好的话,性能和单线程同步区别也不算大。各有优劣吧

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

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

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

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

© 2021 V2EX