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”