使用网络爬虫实现QQ空间的模拟登录

        近期在利用网络资源学习python爬虫,最近学到了webdriver浏览器驱动+selenium模块的使用,其中有个实战项目是以上内容实现QQ空间的模拟登录。话不多说,下面开始讲解。

前期准备:

        首先我们需要用到selenium,time这两个主要模块以及浏览器驱动程序,首先安装selenium模块:

        在pycharm的最底端找到终端(Terminal)选项,点击

        然后输入: pip install selenium

        

         下载该模块。

        然后安装webdriver相关驱动程序,我使用的是edge浏览器相关的驱动程序

        首先我们需要查看当前edeg浏览器的版本,打开浏览器,点击右上角三个点,点击设置,点击关于Microsoft Edge 查看浏览器的版本

        根据当前浏览器的版本去下面的网址查看并下载相应的浏览器驱动:Microsoft Edge WebDriver - Microsoft Edge Developer 

         下载并解压,注意我们需要将解压后的.exe后缀的程序放到要运行的py程序的同级目录中,如下图

        pycharm中记载的edge浏览器的驱动程序的名称是 ’MicrosoftWebDriver‘ 所以我们需要把名称进行更改,最后就可以编程啦!

编程: 

        首先导入相关的模块

        然后创建浏览器对象

        使浏览器对象向对应网址发送请求

        因为登录等具体的内容都在frame框架中,所以我们需要转到该框架中

        由于进入该网站后自动转到扫二维码登录的页面,我们需要点击账号密码登录,下面的代码就是执行该操作。根据解析的html中找到对应标签的id,并且执行click操作,模拟鼠标点击

         下一步需要录入账号密码,我们还是先到解析的html标签中找到对应的id,然后执行sen_keys ,即在找到的标签中输入账号,出于隐私,我使用了’*‘来代替,大家可以使用自己的账号密码进行测试

        录入密码,和上一步相似

        录入完账号密码后我们需要登录了,还是在在解析的html中找到相关的标签对应的id,然后还是执行click操作模拟鼠标点击,这里sleep是为了防止录入完账户密码后立即登录导致看不到效果

        最后在登录成功的页面停留几秒再退出就可以啦!

        最终效果 如下所示

         最后附源码 

# 马子哥最帅!
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

edge = webdriver.Edge()

edge.get('https://qzone.qq.com/')

edge.switch_to.frame('login_frame')

a_tag = edge.find_element(By.ID, 'switcher_plogin')
a_tag.click()

userName_tag = edge.find_element(By.ID, 'u')
userName_tag.send_keys('*****')

password_tag = edge.find_element(By.ID, 'p')
password_tag.send_keys('*****')

sleep(1)

login = edge.find_element(By.ID, 'login_button')
login.click()

sleep(3)

edge.quit()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值