自从开始学习爬虫后,总是无法控制那一颗躁动的心。每天总是想要爬点什么,爬过电影、爬过电影影评、爬过图片(美女图)、爬过视频链接,从最初的简单解析网页到模拟登陆再到异步加载,现在看到一个网页最先想的就是要不要爬一下。话不多说,来我们今天的项目,通过模拟登陆和异步加载爬一下QQ群成员的信息。
大概思路
我们通过网页版QQ群管理去获取相应的群信息,通过点击QQ群首页上的“群管理”进入到QQ群页面,分析链接我们发现每一个QQ群的链接形式都是“https://qun.qq.com/member.html#gid=”加上群号码,这样就为我们爬虫减少了一定的工作量。在爬腾讯的网站最大的问题就是登录,我们不能像入门时的简单的发出登录请求包,获取cookies后再用cookies来访问,腾讯的网站是异步加载的,这有的去分析监听network和js请求来找到想要的加载,十分麻烦。所以我们采用selenuim,不需要去找请求,直接模拟登录就可以了,登陆后直接获取到网页的源码,然后像简单的爬虫一样去解析源码获取我们想要的内容。
一、模拟登陆
首先通过selenuim定义一个driver对象,这里我使用的是火狐浏览器,直接通过下面的命令即可调用
driver = webdriver.Firefox()
定义好了以后,我们通过下面的函数浏览器打开我们的想要爬取QQ群的链接,QQ群的链接形式是“https: