动态网页抓取Selenium的安装与使用

selenium的安装与使用

一.回顾

前面我们爬取的网页列如百度贴吧,起点中文网都是静态网页,这样的网页在浏览器中展示的内容都在HTML源码中。但是现在很多网站都是采用JavaScript来展示网页内容,这时候爬取静态网页的技术就不管用了。爬取动态网页有两种方法:
1.分析网页找到真实网页地址(如爬取中彩网双色球信息例子),
2.使用selenium模拟浏览器的方法。

二.Selenium简介与安装
1.Selenium是什么?
Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。
2.安装
直接使用pip命令安装即可!

pip install selenium

安装可能会失败请多试几次 下载太慢的话我们可以进行pip换源再下载
一些国内的源:
   阿里云 http://mirrors.aliyun.com/pypi/simple/
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  豆瓣(douban) http://pypi.douban.com/simple/
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

 具体步骤:

这里写图片描述
如图进入用户目录下的APPData下的Local下的pip文件夹没有就创建,创建pip.ini文件 复制以下代码保存即可。

[global]

timeout=6000

index-url=https://pypi.tuna.tsinghua.edu.cn/simple

三.浏览器的选择与安装
1.查看selenium webdriver 支持的浏览器类型

from selenium import webdriver
help(webdriver)

常用的浏览器有 phantomjs 谷歌 火狐
2.安装phantomjs
官网下载:”http://phantomjs.org/download.html
安装:将phantomjs压缩包里的可执行文件加入到python目录如果使用anaconda的话加入到anaconda目录(与python.exe在同一级目录)
如图:

这里写图片描述

3.测试
进入python输入以下命令没有错误即可!

from selenium import webdriver
driver=webdriver.PathtomJS()

四.应用
我们用百度来测试下selenium+phantomjs的功能。测试模拟输入关键字进行搜索。这里我们用到了一种新的元素定位方法 xpath
有兴趣的可以看下菜鸟教程”http://www.runoob.com/xpath/xpath-tutorial.html“学习下他的语法

#! -*- encoding:utf-8 -*-

from selenium import webdriver
browser=webdriver.PhantomJS()
browser.get('http://www.baidu.com')
browser.implicitly_wait(10) #他是一个智能等待函数 因为利用JS引擎运行需要时间

#找到页面表单的文本框
textElement=browser.find_element_by_id('kw')
textElement.send_keys('python selenium')    #模拟按键输入

#找到提交按钮
submitElement=browser.find_element_by_id('su')
submitElement.click() #点击元素

print (browser.title)

#xpath解析
"""
定位网页中的元素(locate elements)
    find_element_by_id
    find_element_by_name
    find_element_by_xpath
    find_element_by_link_text
    find_element_by_partial_link_text
    find_element_by_tag_name
    find_element_by_class_name
    find_element_by_css_selector

操作元素方法:
    clear 清除元素的内容
    send_keys 模拟按键输入
    click 点击元素
    submit 提交表单
"""

浏览器的选择有很多种这里选择的是.PhantomJS(),他是没有界面的。
除了选择:browser=webdriver.PhantomJS()你还可以选择带界面的浏览器如谷歌 火狐(前提电脑里要有这样的浏览器)如我们可以选择:

browser=webdriver.Chrome()
browser=webdriver.Firefox()

但是直接使用会报错
这里写图片描述
根据提示我们知道我们缺少了“geckodriver”我们可以在网上下载他
https://github.com/mozilla/geckodriver/releases
记得下载与你浏览器版本一致或兼容的geckodriver,然后放到你的火狐浏览器目录下
这里写图片描述

谷歌浏览器相同道理安装,Chromedriver版本与浏览器不兼容可能会出现以下问题:

这里写图片描述

版本参考:
Chromedriver:http://blog.csdn.net/huilan_same/article/details/51896672

driver:”http://chromedriver.storage.googleapis.com/index.html

最好把环境变量加到path上

这里写图片描述

path:

这里写图片描述

到这里坑也就填得差不多了 遇到问题大家一定要的记得多百度哦 。环境搭好了后面的爬虫就轻松加愉快啦!

参考文章:
http://blog.csdn.net/huilan_same/article/details/51896672
https://www.cnblogs.com/yousuosiyss/p/6882420.html?utm_source=itdadao&utm_medium=referral
https://zhidao.baidu.com/question/757233000558557924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值