Python爬虫教程-26-Selenium + PhantomJS

Python爬虫教程-26-Selenium + PhantomJS

  • 动态前端页面 :
    • JavaScript: JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,普遍用于客户端的脚本语言,最先是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增长动态功能
    • jQuery: jQuery是一个快速、简洁的JavaScript框架,是继Prototype以后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,作更多的事情。它封装JavaScript经常使用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操做、事件处理、动画设计和Ajax交互
    • ajax: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种建立交互式网页应用的网页开发技术。 Ajax = 异步 JavaScript 和 XML(标准通用标记语言的子集)。 Ajax 是一种用于建立快速动态网页的技术。 Ajax 是一种在无需从新加载整个网页的状况下,可以更新部分网页的技术。 经过在后台与服务器进行
    • DHTML: DHTML是Dynamic HTML的简称,就是动态的html(标准通用标记语言下的一个应用),是相对传统的静态的html而言的一种制做网页的概念。所谓动态HTML(Dynamic HTML,简称DHTML),其实并非一门新的语言,它只是HTML、CSS和客户端脚本的一种集成,即一个页面中包括html+css+javascript(或其它客户端脚本),其中css和客户端脚本是直接在页面上写而不是连接上相关文件。DHTML不是一种技术、标准或规范,只是一种将目前已有的网页技术、语言标准整合运用,制做出能在下载后仍然能实时变换页面元素效果的网页设计概念

Python 采集动态数据

  • 从 JavaScript 代码入手采集
  • Python 第三方库运行 JavaScript,直接采集你在浏览器看到的页面

Selenium + PhantomJS

  • Selenium:web 自动化测试工具
  • Selenium 官方文档:https://www.seleniumhq.org/docs/
  • Selenium 的功能:
  • 1.自动加载页面
  • 2.获取数据
  • 3.截屏
  • PhantomJS:基于 Webkit 的无界面浏览器
    • 由 Selenium 操做 PhantomJS

Selenium 的安装

  • 若是使用的是 Anaconda:
    • 进入当前环境:(个人环境名为learn,若是只有一个base环境,忽略此步)

activate learnjavascript

  • 安装 selenium

conda install seleniumcss

  • 固然也能够直接在 Pycharm 进行安装
    • 【PyCharm】>【file】>【settings】>【Project Interpreter】>【+】 >【selenium】>【install】
    • 具体操做截图: 这里写图片描述 这里写图片描述

PhantomJS 的安装

Selenium 的使用

  • Selenium 库有一个 WebDriver 的 API
  • WebDriver 能够跟页面上的元素进行各类交互,用它能够来进行爬取
  • 注意:使用 PhantomJS 时自动按照环境变量查找相应浏览器,若是没有配置环境变量就将路径做为参数
  • 案例代码28dhtml.py文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py28dhtml.py
# Selenium 的使用

# 经过 WebDriver 操做百度进行查找

from selenium import webdriver
import time


# 经过 Keys 模拟键盘
# 也就是放入须要输入的东西,就不用键盘输入了
from selenium.webdriver.common.keys import Keys

# 操做哪一个浏览器就对哪一个浏览器建立一个实例,这里是 PhantomJS
# 自动按照环境变量查找相应浏览器,若是没有配置环境变量就将路径做为参数
driver = webdriver.PhantomJS(executable_path=r"D:\app\phantomjs-2.1.1-windows\bin\phantomjs.exe")

driver.get("http://www.baidu.com")

# 经过函数查找 title 标签
print("Title: {0}".format(driver.title))

运行结果

注意:若是没有配置环境变量就将本身的路径做为参数 这里写图片描述 红字不是出错,打印 title 成功才算使用成功html

更多文章连接:Python 爬虫随笔

<hr>- 本笔记不容许任何我的和组织转载前端

相关文章
相关标签/搜索