设为首页 加入收藏

TOP

说说爬虫分享
2015-11-21 01:25:41 来源: 作者: 【 】 浏览:0
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遇到一个奇葩无效..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: