基于Python +Selenium的爬虫详解

转自:python专栏

一、selenium简介

由于requests模块是一个不完全模拟浏览器行为的模块,只能爬取到网页的HTML文档信息,无法解析和执行CSS、JavaScript代码,因此需要我们做人为判断;

1、什么是selenium

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法执行javaScript代码的问题。

selenium模块本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器;由于selenium解析执行了CSS、JavaScript所以相对requests它的性能是低下的;

2、selenium的用途

1)selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用浏览器自动访问目标站点并操作,那我们也可以拿它来做爬虫。

2)selenium本质上是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等…进而拿到网页渲染之后的结果,可支持多种浏览器

二、selenium的安装与测试

1、下载selenium模块:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium

或者在pycharm中下载

2、安装浏览器驱动

  1. Google浏览器驱动(在下载驱动之前,查看一下chrome浏览器的版本号,如下:

国内镜像网站地址:http://npm.taobao.org/mirrors/chromedrive

当然也可以去官网找最新的版本,官网: https://sites.google.com/a/chromium.org/chromedriver/downloads

另外注意:把下载好的chromedriver.exe放到python安装路径的scripts目录中即可

  1. firefox浏览器驱动:

selenium3默认支持的webdriver是Firfox,而Firefox需要安装geckodriver

下载链接:https://github.com/mozilla/geckodriver/releases

  1. 测试是否安装成功


import timefrom selenium import webdriverbrowser=webdriver.Chrome() #实例化1个谷歌浏览器对象browser.get('https://www.baidu.com/')` `time.sleep(5)browser.close()





[**专属福利**](https://mp.weixin.qq.com/s?__biz=Mzg2NDY1NzMzNw==&mid=2247500575&idx=1&sn=94668c0a2b8b37a0ed1111f847d3396d&chksm=ce6489c9f91300dfbb5a77053993dc33e52d6be2edcd9213634042e2d7f700b02721fdb1da5c&token=1788255009&lang=zh_CN&scene=21#wechat_redirect) 

[**👉点击领取:最全Python资料合集**](https://mp.weixin.qq.com/s?__biz=Mzg2NDY1NzMzNw==&mid=2247500575&idx=1&sn=94668c0a2b8b37a0ed1111f847d3396d&chksm=ce6489c9f91300dfbb5a77053993dc33e52d6be2edcd9213634042e2d7f700b02721fdb1da5c&token=1788255009&lang=zh_CN&scene=21#wechat_redirect)


三、selenium的使用

所谓模拟浏览器基本就是下面的流程:


1.请求

2.

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值