欢迎来到 - 画少小说 !    
当前位置: 首页 > qq日志 > qq空间日志 >

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

时间:2019-12-21 19:41 点击:
广告投放、投稿、向小编咨询问题,联系微信:hai299014

进入 myQQ.txt 写入QQ账号和密码(不同QQ换行输入,账号密码空格隔开)。如果你只是测试一下,则放三两个QQ足矣;但如果你开多线程大规模抓取的话就要用多一点QQ号(thread_num_QQ的2~10倍),账号少容易被检测为异常行为。

进入 init_messages.py 进行爬虫参数的配置,例如线程数量的多少、设置爬哪个时间段的日志,哪个时间段的说说,爬多少个说说备份一次等等。

运行 launch.py 启动爬虫。

4.爬虫开始之后首先根据 myQQ.txt 里面的QQ去获取 Cookie(以后登录的时候直接用已有的Cookie,就不需要每次都去拿Cookie了,遇到Cookie失效也会自动作相应的处理)。获取完Cookie后爬虫程序会去申请四百多兆的内存,申请的时候会占用两G左右的内存,大约五秒能完成申请,之后会掉回四百多M。

5.爬虫程序可以中途停止,下次可打开继续抓取。

运行截图:

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

代码说明:

mongodb用来存放数据,redis用来存放待爬QQ和Cookie。

爬虫之前使用的是BitVector去重,有一部分人反映经常会报错,所以现在使用基于Redis的位去重,内存占用不超过512M,能容纳45亿个QQ号瞬间去重,而且方便分布式扩展。

爬虫使用phantomJS模拟登陆QQ空间,有时候会出现验证码。我使用的是云打码(自行百度),准确率还是非常高的,QQ验证码是4位纯英文,5元可以识别1000个验证码。如果需要请自行去注册购买,将账号、密码、appkey填入 yundama.py,再将 public_methods.py 里的dama=False改成dama=True即可。

分布式。现在已经将种子队列和去重队列都放在了Redis上面,如果需要几台机器同时爬,只需要将代码复制一份到另外一台机子,将连Redis时的localhost改成同一台机器的IP即可。如果想要将爬下来的数据保存到同一台机,也只需要将连MongoDB时的localhost改成该机器的IP即可。

为了让程序不那么复杂难懂,此项目只用了多线程,即只用到了一个CPU。如果实际生产运行的话可以考虑将程序稍作修改,换成多进程+协程,或者异步。速度会快很多。

最后提醒一下,爬虫无非就是模仿人在浏览器上网的行为,你在浏览器上无法查看的信息爬虫一般也是无法抓取。所以,就不要再问我能不能破解别人相册的这种问题了,空间加了访问权限的也无法访问。程序输出的日志中2016-11-19 01:05:33.010000 failure:484237103 (None - )这种,一般就是无法访问的QQ。还有,我们是无法查看一个QQ的所有好友的,所以爬下来的好友信息也只是部分好友。爬虫不是黑客,希望理解。

说说数据:

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

日志数据:

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

好友关系数据:

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

个人信息数据:

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400

数据库说明:

QQSpider主要爬取QQ用户的说说、日志、朋友关系、个人信息

数据库分别设置 Mood、Blog、Friend、Information 四张表。

Mood 表:

_id:采用 “QQ_说说id” 的形式作为说说的唯一标识。

Co-oridinates:发说说时的定位坐标,调用地图API可直接查看具体方位,可识别到在哪一栋楼。

Comment:说说的评论数。

Like:说说的点赞数。

Mood_cont:说说内容。

PubTime:说说发表时间。

QQ:发此说说的QQ号。

Source:说说的根源(对于转发的说说),采用 “QQ_说说id” 的形式标识。

Tools:发说说的工具(手机类型或者平台)。

Transfer:说说的转发数。

URL:说说的链接地址。

isTransfered:此说说是否属于转发来的。

Mood 表:

_id:采用 “QQ_说说id” 的形式作为说说的唯一标识。

Co-oridinates:发说说时的定位坐标,调用地图API可直接查看具体方位,可识别到在哪一栋楼。

Comment:说说的评论数。

Like:说说的点赞数。

Mood_cont:说说内容。

PubTime:说说发表时间。

QQ:发此说说的QQ号。

Source:说说的根源(对于转发的说说),采用 “QQ_说说id” 的形式标识。

Tools:发说说的工具(手机类型或者平台)。

Transfer:说说的转发数。

URL:说说的链接地址。

isTransfered:此说说是否属于转发来的。

Blog 表:

_id:采用 “QQ_日志id” 的形式作为日志的唯一标识。

Blog_cont:日志内容。

Comment:日志的评论数。

Like:日志的点赞数。

PubTime:日志的发表时间。

QQ:发此日志的QQ号。

Share:日志的分享数。

Source:日志的根源(对于转发的日志),采用 “QQ_日志id” 的形式标识。

Title:日志的标题。

Transfer:日志的转发数。

URL:日志的链接地址。

isTransfered:此日志是否属于转发来的。

Blog 表:

_id:采用 “QQ_日志id” 的形式作为日志的唯一标识。

Blog_cont:日志内容。

Comment:日志的评论数。

Like:日志的点赞数。

PubTime:日志的发表时间。

QQ:发此日志的QQ号。

Share:日志的分享数。

Source:日志的根源(对于转发的日志),采用 “QQ_日志id” 的形式标识。

Title:日志的标题。

Transfer:日志的转发数。

URL:日志的链接地址。

isTransfered:此日志是否属于转发来的。

Friend 表:

_id:采用 QQ 作为唯一标识。

Num:此QQ的好友数(仅统计已抓取到的)。

Fx:朋友的QQ号,x代表第几位好友,x从1开始逐渐迭加。

Friend 表:

_id:采用 QQ 作为唯一标识。

Num:此QQ的好友数(仅统计已抓取到的)。

Fx:朋友的QQ号,x代表第几位好友,x从1开始逐渐迭加。

Information 表:

_id:采用 QQ 作为唯一标识。

Age:年龄。

Birthday:出生日期。

Blog:已发表的日志数。

Blogs_WeGet:我们已抓取的日志数。

Blood_type:血型。

Career:职业。

Company:公司。

Company_address:公司详细地址。

Company_city:公司所在城市。

Company_country:公司所在国家。

Company_province:公司所在省份。

Constellation:星座。

CurrentTime:抓取当前信息的时间(不同时间信息会不同)。

FriendsNum:好友数(仅统计已抓取的)。

Gender:性别。

Hometown_city:故乡所在城市。

Hometown_country:故乡所在国家。

Hometown_province:故乡所在省份。

Living_city:居住的城市。

Living_country:居住的国家。

Living_province:居住的省份。

Marriage:婚姻状况。

Message:空间留言数。

Mood:已发表的说说数。

Mood_WeGet:我们已抓取的说说数。

PageView:空间总访问量。

Picture:已发表的照片数(包括相册里的照片和说说里的照片)。

Information 表:

_id:采用 QQ 作为唯一标识。

Age:年龄。

Birthday:出生日期。

Blog:已发表的日志数。

Blogs_WeGet:我们已抓取的日志数。

Blood_type:血型。

Career:职业。

Company:公司。

Company_address:公司详细地址。

Company_city:公司所在城市。

Company_country:公司所在国家。

Company_province:公司所在省份。

Constellation:星座。

CurrentTime:抓取当前信息的时间(不同时间信息会不同)。

FriendsNum:好友数(仅统计已抓取的)。

Gender:性别。

Hometown_city:故乡所在城市。

Hometown_country:故乡所在国家。

Hometown_province:故乡所在省份。

Living_city:居住的城市。

Living_country:居住的国家。

Living_province:居住的省份。

Marriage:婚姻状况。

Message:空间留言数。

Mood:已发表的说说数。

Mood_WeGet:我们已抓取的说说数。

PageView:空间总访问量。

Picture:已发表的照片数(包括相册里的照片和说说里的照片)。

数据统计中,请稍等!
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------