美文网首页大数据 爬虫Python AI Sqlpython自学python填坑记
【selenium】webdriver的安装配置(附:可能最全的

【selenium】webdriver的安装配置(附:可能最全的

作者: alisen | 来源:发表于2018-10-03 10:15 被阅读1次

    我们在写爬虫的时候,偶尔会遇到一些内容是通过js获取,或者加密等一些情况,那么这种情况就必须要祭出大杀器了——selenium。

    严格来讲,selenium是一个自动化测试的工具,不过用来做爬虫也是极好的。它可以获取到js加载后的页面,从而拿到直接请求拿不到的东西,实现“所见即所得”。

    所谓“工欲善其事,必先利其器”。使用selenium最重要的是要先安装好浏览器的驱动,这样selenium才可以控制得到我们的浏览器。

    selenium支持几乎市面上所有的主流浏览器,在这里就主要介绍常用的三款浏览器,chrome、firefox、PhantomJS的安装使用

    1. 下载webdriver

    注意:webdriver支持的版本必须与浏览器的版本一致,否则会报错

    1. 谷歌浏览器 chromedriver

    2. 火狐浏览器 geckodriver

    这篇文档里可以查到火狐浏览器版本所对应的驱动版本
    https://firefox-source-docs.mozilla.org/testing/geckodriver/geckodriver/Support.html

    3. PhantomJS

    2. 配置环境

    • 将刚刚下载下来的驱动文件解压出来,得到一个exe文件,例如:

    chromedriver.exe

    • 然后新建一个文件夹用来保存这些驱动文件,例如:

    D:\webdriver

    • 随后我们将该文件夹路径添加进系统的环境变量里:

    我的电脑 —— 右键属性 —— 高级系统设置 —— 环境变量 —— 系统变量
    找到path值,将D:\webdriver路径添加进去

    • 此时D:\webdriver文件夹目录的内容如下:
    ├─webdriver
    │  ├─chromedriver.exe
    │  ├─geckodriver.exe
    │  ├─phantomjs.exe
    

    这里根据实际情况选择一个驱动使用即可

    3. selenium里使用webdriver

    • 完成了webdriver的安装配置只有,便可以通过selenium来控制浏览器了,示例代码:
        from selenium import webdriver
        import time
        open_driver = webdriver.Chrome()
        # open_driver = webdriver.Firefox()
        # open_driver = webdriver.PhantomJS()
        open_driver.get('https://www.baidu.com')
        time.sleep(5)
        open_driver.close()
    

    运行这段代码,浏览器会打开百度首页,在等待5秒之后,将会自动关闭,程序结束。

    注意: phantomjs是一个无界面浏览器,因此在运行的时候是不会有浏览器窗口显示的。

    4. 结束语

    使用selenium来编写爬虫的优点很多,例如可以省略我们分析js和一些加密算法的时间,减小爬虫开发难度。不过缺点也十分明显,就是速度太慢,占用的资源多,效率不高。
    因此在非必要的时候,尽量使用直接请求api的方式来编写爬虫。

    相关文章

      网友评论

        本文标题:【selenium】webdriver的安装配置(附:可能最全的

        本文链接:https://www.haomeiwen.com/subject/keszoftx.html