求推荐爬虫框架 Python /Nodejs/Golang 皆可 写了个 Scrapy 的爬虫然后发现是单线程的

2018-06-19 11:29:50 +08:00
 whereabouts
查了一会 Google 说 Scrapy 基于 Twisted 所以是单线程的,写的 Scrapy 爬虫运行了半天没爬多少网页。。
5060 次点击
所在节点    程序员
16 条回复
yrj
2018-06-19 11:36:07 +08:00
pyspider 国人作品 文档友好。
congeec
2018-06-19 11:38:26 +08:00
单线程不是 scrapy 慢的原因
PythonAnswer
2018-06-19 11:38:58 +08:00
twisted 是异步 io 可以很快爬取
scrapy 做为 py 爬虫框架老大 并非浪得虚名
msg7086
2018-06-19 12:17:52 +08:00
单线程很好啊,运行效率比那些天天线程切换的方案好多了。
thread2
2018-06-19 12:28:04 +08:00
可考虑,先批量生产任务放到队列里,然后开很多节点消费任务,效率奇高
chengxiao
2018-06-19 13:55:27 +08:00
感觉瓶颈是网速吧
chroming
2018-06-19 14:00:17 +08:00
一般情况 scrapy 异步比多线程快,你爬的慢可能是你程序写的有问题
soho176
2018-06-19 14:01:29 +08:00
爬的再快 有啥用那,太快 网站直接封了你了,别光想着快,要持久。
tozp
2018-06-19 18:23:01 +08:00
java--webmagic
python--scrapy
go--go_spider
也就那么回事
encro
2018-06-19 19:30:54 +08:00
scrapy 能够设置并发数的。你用的是假 google 吧
encro
2018-06-19 19:32:20 +08:00
在 google 前请先看文档
inflationaaron
2018-06-20 03:19:46 +08:00
Node.js 也是单线程,怎么能做到那么多并发?多线程只是实现高并发的一种手段。
biaodianfu
2018-06-20 09:08:16 +08:00
你可能还不知道 python ( cpython )只支持单线程
dishonest
2018-06-20 09:41:19 +08:00
@biaodianfu 不是这样的吧 多线程支持的 只是有 GIL
encro
2018-06-20 13:06:09 +08:00
给你一个传送门,以前我写的关于爬虫方面的资料。
爬虫框架比较: https://c4ys.com/archives/450
如何用 python 实现一个高自由度爬虫: https://c4ys.com/archives/718
Leigg
2018-06-20 16:56:06 +08:00
scrapy 不设置延时足够爬到网站不能自理,在你会不会用。

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

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

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

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

© 2021 V2EX