自动化测试工程师发展技术提升-在Python中使用Selenium获取QQ空间好友动态.docx

自动化测试工程师发展技术提升-在Python中使用Selenium获取QQ空间好友动态.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动化测试工程师发展技术提升-在Python中使用Selenium获取QQ空间好友动态

自动化测试工程师发展技术提升-在Python中使用Selenium获取QQ空间好友动态  我们接触到的,很多都是使用requests+BeautifulSoup组合对静态网页进行请求和数据解析,若是JS生成的内容,也介绍了通过寻找API借口来获取数据。  但是有的时候,网页数据由JS生成,API借口又死活找不着或者是API借口地址随机变换,时间不等人。那就只能使用Selenium了。  一、Selenium简介  Selenium是一个用于Web应用的功能自动化测试工具,Selenium 直接运行在浏览器中,就像真正的用户在操作一样。  由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,获取需要的数据,甚至页面截图,或者是判断网站上某些动作是否发生。  Selenium自己不带浏览器,需要配合第三方浏览器来使用。支持的浏览器有Chrome、Firefox、IE、Phantomjs等。  如果使用Chrome、FireFox或IE,我们可以看得到一个浏览器的窗口被打开、打开网站、然后执行代码中的操作。  但是,让程序在后台中运行更符合我们爬虫的气质,所以自己多使用Phantomjs作为浏览器载体,本篇文章也以Phantomjs作介绍  Phantomjs是一个“无头”浏览器,也就是没有界面的浏览器,但是功能与普通的浏览器无异。  二、在Python中使用Selenium获取QQ空间好友说说  之前使用pip安装好了selenium,直接在代码中import即可。  下面我们以一个实际的例子——获取一个QQ空间好友的说说信息,来简单讲解一下Selenium+Phantomjs的使用。  我们需要爬取的页面时这样的:  QQ空间好友说说的链接为:/{好友QQ号}/311我们抓取他发的说说的时间和内容。  python3运行代码  依旧先上代码:  # -*- coding:utf-8 -*-  from bs4 import BeautifulSoup  from selenium import webdriver  import time  # #使用Selenium的webdriver实例化一个浏览器对象,在这里使用Phantomjs  # driver = webdriver.PhantomJS(executable_path=rD:\phantomjs-2.1.1-windows\bin\phantomjs.exe)  # #设置Phantomjs窗口最大化  # driver.maximize_window()  # 登录QQ空间  def get_shuoshuo(qq):   ? ?chromedriver = rD:\soft\chromedriver_win32\chromedriver.exe   ? ?driver = webdriver.Chrome(chromedriver)   ? ?#使用get()方法打开待抓取的URL   ? ?driver.get(/{}/311.format(qq))   ? ?time.sleep(5)   ? ?#等待5秒后,判断页面是否需要登录,通过查找页面是否有相应的DIV的id来判断   ? ?try:   ? ? ? ?driver.find_element_by_id(login_div)   ? ? ? ?a = True   ? ?except:   ? ? ? ?a = False   ? ?if a == True:   ? ? ? ?#如果页面存在登录的DIV,则模拟登录   ? ? ? ?driver.switch_to.frame(login_frame)   ? ? ? ?driver.find_element_by_id(switcher_plogin).click()   ? ? ? ?driver.find_element_by_id(u).clear() ?# 选择用户名框   ? ? ? ?driver.find_element_by_id(u).send_keys(QQ号码)   ? ? ? ?driver.find_element_by_id(p).clear()   ? ? ? ?driver.find_element_by_id(p).send_keys(QQ密码)   ? ? ? ?driver.find_element_by_id(login_button).click()   ? ? ? ?time.sleep(3)   ? ?driver.implicitly_wait(3)   ? ?#判断好友空间是否设置了权限,通过判断是否存在元素ID:QM_OwnerInfo_Icon   ?

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档