爬虫实战-python爬取QQ群好友信息

自从开始学习爬虫后,总是无法控制那一颗躁动的心。每天总是想要爬点什么,爬过电影、爬过电影影评、爬过图片(美女图)、爬过视频链接,从最初的简单解析网页到模拟登陆再到异步加载,现在看到一个网页最先想的就是要不要爬一下。话不多说,来我们今天的项目,通过模拟登陆和异步加载爬一下QQ群成员的信息。

大概思路

我们通过网页版QQ群管理去获取相应的群信息,通过点击QQ群首页上的“群管理”进入到QQ群页面,分析链接我们发现每一个QQ群的链接形式都是“https://qun.qq.com/member.html#gid=”加上群号码,这样就为我们爬虫减少了一定的工作量。在爬腾讯的网站最大的问题就是登录,我们不能像入门时的简单的发出登录请求包,获取cookies后再用cookies来访问,腾讯的网站是异步加载的,这有的去分析监听network和js请求来找到想要的加载,十分麻烦。所以我们采用selenuim,不需要去找请求,直接模拟登录就可以了,登陆后直接获取到网页的源码,然后像简单的爬虫一样去解析源码获取我们想要的内容。

一、模拟登陆

首先通过selenuim定义一个driver对象,这里我使用的是火狐浏览器,直接通过下面的命令即可调用

定义好了以后,我们通过下面的函数浏览器打开我们的想要爬取QQ群的链接,QQ群的链接形式是“https://qun.qq.com/member.html#gid=”+群号码

二、下拉加载页面

登录到QQ群成员界面后,网页上显示的只有20个左右的人数,当网页下拉时,每次更新会加载20个成员的信息,我们爬取需要所有人的信息就需要模拟下拉界面,这时候selenuim另一个功能出现模拟下拉加载页面

三、保存网页源码

通过selenuim里的driver.page_source来获取网页源码,我们可以将源码保存到本地txt文件中,这样可以方便对源码解析,避免每次登陆的麻烦。

四、提取信息

相信到了这一步很多小伙伴都十分熟悉了,这一步就是我们刚接触爬虫时分析网页一样。这里我们使用BeautifulSoup来解析源码。依次获取群成员的信息。

欢迎关注我们

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180809A08SSC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券