设为首页 加入收藏

TOP

说说爬虫分享
2015-11-21 01:25:41 】 浏览:3191
Tags:说说 爬虫 分享
开篇:
哈哈,还记得有次偶尔在博客园上看到别人发的,《3000w腾讯用户数据》样子的一篇文章,感觉很不错,自己忍不住也想实现下QQ说说的爬虫。
爬虫程序大概是这个样子的:
以下是流程图,更清晰些:(流程图标签关系,其实用户和说说只是两个表,并不是分开的数据库)
爬虫效率:(数据)
图上的标识可能看不太懂,我加下注释。
每一列表示一个数据队列的数据情况
Add--->队列增加
Pop--->出队列
Size--->当前队列大小
接下来解释下使用到的各个队列。
UPend ---> UserPending 用户等待队列,等待爬虫去爬取的用户ID,从数据库中获取。
UFsh--->UserFinish 用户爬取完成队列,爬虫爬取完成一个用户的相关数据后,要将该用户对应的数据库爬取关键字设置为true,表示爬虫爬取过了。
UJoin--->UserJoin 新用户加入队列,等待新的用户加入数据库中,在爬虫爬取用户相关数据时候,会得到新的(数据库中不存在)用户ID,将其放入数据库中,用于之后爬取。
TPend--->TalkPending 说说代爬队列,这里面保存的是待爬说说用户的ID,从数据库中获取。
TJoin---> TalkJoin 新说说加入队列,等待新爬到的说说数据放入到数据库中。
Download---> 没什么好书的爬虫的网络传输速率,不确定这里是否是【真实】的字节数,详见下面 下载速率计算方法。
本人用的是20Mbps的联通网图中可以看出,大概说说的爬取效率是1300条/s的速度,这样一天大概是1300*24*60*60 = 112,320,000 (1亿多)条。有木有很多的赶脚~
下边只是发了个数据库截图,相信用过MongoDB的兄弟应该能看懂的。
PS:MongoDB的数据库表结构没有给出,之后会给个详细的表结构。
项目 源码地址:https://github.com/y85171642/SpiderX
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C#连接、访问MySQL数据库 下一篇PL/SQLDeveloper遇到一个奇葩无效..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目