为什么scrapy爬虫没法爬中纪委网站

Scrapy 是不是不能爬取https的网站?为什么https各种通不过?
Scrapy 是不是不能爬取https的网站?
可以爬https网站啊,我1月份刚爬过,你可以把网址贴出来看看
--- 共有 3 条评论 ---
看到我发的私信了吗?
代码在github上吗?能否给我看看?
我爬取开源中国和英文维基百科就有问题
有什么问题,截图
--- 共有 1 条评论 ---有关分布式爬虫和 scrapy-redis 的问题,去重策略和怎么爬取整个网站? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
推荐学习书目
Python Sites
值得关注的项目
Python 编程
有关分布式爬虫和 scrapy-redis 的问题,去重策略和怎么爬取整个网站?
22:26:36 +08:00 · 2095 次点击
从首页里的链接一层一层爬取整个网站的页面。
那如何停止的?(判断把整个网站爬取完的条件是什么?)
scrapy-redis 的疑问:
去重问题:
dupefilter.py 里面的源码:
def request_seen(self, request):
fp = request_fingerprint(request)
added = self.server.sadd(self.key, fp)
return not added
去重是把 request 的 fingerprint 存在 redis 上,来实现的吧?那大规模抓取不就很耗费内存?每条没读过的链接都存。
有没有人试过用 bloomfilter 结合 scrapy — redis 来去重。有没有必要?
9 回复 &| &直到
19:53:11 +08:00
& & 22:34:03 +08:00
求各位意见,或者分享下应该怎么分布式爬虫,万分感谢!
& & 22:50:51 +08:00
我们假设 fingerprint 是 MD5 串, 256bit, 一亿条 url 也就 3.2G
一亿链接先想想你其他的组件是否撑得住再考虑费不费内存这个问题吧。
& & 23:46:12 +08:00
url 取 md5 内存占用不了多少,如果再用 64 进制表示,还可以节省 23%的样子
建议对 fingerprint 做一次硬分片散列到多个 redis set 中,这样以后 redis 扩展成集群就比较方便了 :)
bloomfilter 感觉最大得问题是不知道怎么预估未来得规模啊。
不过话说 redis 未来会支持 bloomfilter 。。现在 bloomfilter 怎么和 redis 结合?
毕设得时候做得爬虫看的一个人写的,,那个停止条件是 set 里面元素为 0 。。非常不科学,有时候网络一抖动 set 里面为 0 ,还有任务在处理,爬虫就直接 exit 了,简直捉急,不过我看 scrapy-redis 里面好像不是这样。。。。。
我觉得要是我做的话。。还是 set 是否为 0 吧,不过得加点等待时间判断一下就好了。。
& & 11:05:20 +08:00 via Android
把爬虫的 agent 和 Server 分开,用 Server 来去重。
& & 16:12:25 +08:00
@ set 里面的元素为 0 ,感觉很不靠谱的样子。或者设定爬取的宽度或者深度为终止条件?
& & 16:12:55 +08:00
@ 感谢指出
& & 16:17:07 +08:00
@ 是非常不靠谱。。。。具体什么为终止应该还是看需求啊,我之前做的是学校网站爬虫,按照 ip 和域名限定,反正 url 总数是一定的~
& & 16:27:28 +08:00
@ 也就是估计大概的爬取量
& & 19:53:11 +08:00
@ 什么意思?是指 master 和 slave 吗?
& · & 405 人在线 & 最高记录 2466 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 42ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07? Do have faith in what you're doing.}

我要回帖

更多关于 python爬虫框架scrapy 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信