网页抓取qq(模拟登陆和异步爬一下QQ群成员的信息获取方法)
优采云 发布时间: 2021-11-12 16:12网页抓取qq(模拟登陆和异步爬一下QQ群成员的信息获取方法)
自从开始学爬,就控制不住那颗躁动的心。我总是想每天爬一些东西。我爬过电影、影评、图片(美女)和视频链接。从最初对网页的简单分析到模拟登录再到异步加载,现在看到一个网页首先想到的就是要不要爬。话不多说,今天来到我们的项目,通过模拟登录和异步加载爬取QQ群成员信息。
大概的概念
我们通过网页版的QQ群管理获取相应的群信息,点击QQ群首页的“群管理”进入QQ群页面。分析链接后,我们发现每个QQ群的链接形式都是“#gid=”加上群号,这样就为我们的爬虫减少了一定的工作量。爬腾讯的网站最大的问题是登录,我们不能像刚开始的时候一样简单的发送一个登录请求包,然后在获取cookies后使用cookies访问。腾讯的网站是异步加载的。有的分析监控网络和js请求,找到想要的负载,很麻烦。所以我们使用selenuim,不需要查找请求,直接登录即可,登录后直接获取网页源码,
一、模拟登录
首先,通过 selenuim 定义一个驱动对象。这里我用的是火狐,可以通过下面的命令直接调用
定义完成后,我们通过下面的功能浏览器打开我们要爬取QQ群的链接。QQ群链接形式为“#gid=”+群号
二、 下拉加载页面
登录QQ群成员界面后,网页上显示的只有20人左右。网页下拉时,每次更新都会加载20个会员的信息。我们需要模拟下拉界面来爬取大家需要的信息。当selenuim的另一个功能出现模拟下拉加载页面时
三、保存网页源码
通过selenuim中的driver.page_source获取网页的源代码,我们可以将源代码保存在本地的txt文件中,这样可以方便分析源代码,避免每次登录的麻烦。
四、提取信息
这一步相信很多朋友都非常熟悉。这一步和我们第一次接触爬虫时分析网页是一样的。这里我们使用 BeautifulSoup 来解析源码。依次获取群成员信息。