亲宝软件园·资讯

展开

爬虫&Selenium&ChromeDriver

宇宙砍柴人 人气:0
### 一、Selenium 1. **selenium是什么** > Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。 在python爬虫可以简单的理解为:**Selenium就是模仿人使用浏览器** 2. **如何下载或者是安装selenium** cmd进入win终端,输入命令 ~~~ pip install selenium ~~~ ### 二、ChromeDriver 1. **ChromeDrive是什么** 这个和JDBC类似,就是Selenium操作Chrome浏览器的驱动。同理Selenium操作Firefox浏览器就需要geckodriver,操作IE浏览器需要IEDriverServer驱动。 ![](https://img2020.cnblogs.com/blog/1947461/202003/1947461-20200331222706012-903991162.png) 2. **如何下载或者安装ChromeDriver** **注意:ChromeDriver要和自己使用的chrome版本一致** **注意:ChromeDriver要和自己使用的chrome版本一致** **注意:ChromeDriver要和自己使用的chrome版本一致** **2.1 查询自己chrome的版本** ​ 地址栏输入: ~~~ chrome://version/ ~~~ ![](https://img2020.cnblogs.com/blog/1947461/202003/1947461-20200331232308284-510565904.png) 比如我的是:80.0.3987.149 **2.2 下载ChromeDriver** 地址栏: ~~~ https://npm.taobao.org/mirrors/chromedriver/ ~~~ ![](https://img2020.cnblogs.com/blog/1947461/202003/1947461-20200331232626694-987435729.png) 这里可能有人要问,不是最后一位不一样吗? 答:的却,但是我估计只要前三位相同应该都可以的。有兴趣的同学可以试一下哈 点击进去,下载对应的OS版本,比如我的是win电脑,我就下载第三个。 ![](https://img2020.cnblogs.com/blog/1947461/202003/1947461-20200331232133713-964631871.png) 2.3 下载好之后,解压,把chromedriver.exe放到任意位置都可以。但是有要求: - **路径上不能有中文** - **存放的路径不需要特殊权限** 这样就可以了,接下来我们来测试一下。 --- ### 三、测试 1. 直接看代码 ~~~python from selenium import webdriver #导入必要的库 #功能需求:模仿人类使用搜索框进行搜索 # 业务分析:在搜索框中输入“关键字”,点击“百度一下”或者是“回车” #chromedriver.exe的存放路径 driver_path=r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" # 通过webdriver对象的Chrome方法【不同的浏览器对应不同的方法】,获取到chromedriver.exe driver = webdriver.Chrome(executable_path=driver_path) # 访问百度 driver.get("http://www.baidu.com") # 根据页面的id值定位到搜索框的 input_tag = driver.find_element_by_id("kw") #假如我们搜索“java” input_tag.send_keys("java") # 根据页面id获取到“百度一下”按钮 submit_btn = driver.find_element_by_id("su") #这个方法其实就是模仿人们点击“百度一下”按钮或者是“回车” submit_btn.click() ~~~ 2. 运行代码。它会自动打开浏览器并自动输入“java”,并回车。 3. 看效果 ![](https://img2020.cnblogs.com/blog/1947461/202003/1947461-20200331231940760-1275758505.png) --- ### 四、为什么要用它——Selenium 答:因为有很多网站的数据都是异步请求(Ajax)加载数据的,我们直接爬取是获取不到数据的。因此我们使用selenium爬取返回来的页面是已经经过浏览器解析好的页面,我们再通过使用Xpath、bs4等,就可以爬取自己想要的数据了。

加载全部内容

相关教程
猜你喜欢
用户评论