python爬虫系列之爬取百度文库(一)

一、什么是selenium

在爬取百度文库的过程中,我们需要使用到一个工具selenium(浏览器自动测试框架),selenium是一个用于web应用程序测试的工具,它可以测试直接运行在浏览器中,就像我们平时用浏览器上网一样,支持IE(7,8,9,10,11),firefox,safari,chrome,opera等。所以,我们可以使用它去爬取网站的数据,用ajax加载的数据也可以爬取,还可以模拟用户登录,爬取登录之后的数据。

二、怎么安装selenium

在Windows下,win+r,输入cmd之后,打开命令提示符窗口,输入pip install selenium即可安装,安装成功之后,下载chromedirver.exe

下载网址https://chromedriver.storage.googleapis.com/index.html,这里有很多的版本,最好下载2.32的,我的电脑操作系统是win10,2.32我上传到了CSDN下载地址http://download.csdn.net/download/sinat_29957455/9964128

三、打开pycharm写以下代码进行测试

from selenium import webdriver

if __name__ == "__main__":
    browser = webdriver.Chrome(executable_path="F:\python\chromedriver_win32\chromedriver.exe")
    browser.get("https://www.baidu.com/")
上面的executable_path为,我下载的 chromedirver.exe的解压位置

四、运行过程中遇到的问题

1、您使用的是不受支持的命令行标记:--ignore-certificate-errors。稳定性和安全性会有所下降


解决办法:将上面的python代码改成下面这样,增加chrome的option设置

    options = webdriver.ChromeOptions()
    options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
    browser = webdriver.Chrome(executable_path="F:\python\chromedriver_win32\chromedriver.exe",chrome_options=options)
    browser.get("https://www.baidu.com/")
2、如果出现地址栏中的参数为data;和右上角这样的情况,请将 chromedirver.exe换成2.32的,这就是为什么我之前强调要是2.32的,因为我之前下载的是2.9的,换成2.32的之后,这些问题就解决了


3、selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home,运行程序的时候报错,这说明没有添加chromedriver.exe的路径,下载好chromedriver解压好之后,添加chromedriver.exe的绝对路径,如下

 browser = webdriver.Chrome(executable_path="F:\python\chromedriver_win32\chromedriver.exe",chrome_options=options)
4、如果,想每次加载的时候不用添加chromedriver.exe的绝对路径这么麻烦,按下面的步骤进行操作,在你使用的python目录下添加chromedriver.exe即可。比如,我在电脑上安装了两个anaconda,anaconda2和anaconda3将它们两个安装在不同的目录下,而这个程序我是在使用anaconda3的环境下运行的,那么我只需要将chromedriver.exe添加到anaconda3的scripts目录下即可,如果你安装的是python,那么需要将chromdriver.exe添加到python27目录下即可。

五、运行结果



  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修炼之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值