Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0557
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在:
- 个人网站: `https://oeasy.org`
- 蓝桥云课: `https://www.lanqiao.cn/courses/3584`
- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
- Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 这次我们研究selenium
- 这是个啥呢?
- selenium
- [səˈliːniəm]
- 重音在li上
- 硒(化学元素,用于制造电气设备和有色玻璃,人体缺此元素可致抑郁等病);
- [səˈliːniəm]
- 我们去看看文档
- http://selenium.dev
- 这是个浏览器的自动化工具
- 可以把浏览器里面做的各种操作封装起来
- 具体来说有三种工具
- web驱动
- ide
- 集群
- 我们先来看web驱动
- selenium可以
- 用各种语言驱动
- 各种主流的各种浏览器
- 我们选择python作为主要的语言
- 首先还是要安装库
pip3 install selenium
- 安装这个包
- 不同系统上有不同浏览器的驱动
- 我们分别来介绍一下
cd Code
wget https://labfile.oss.aliyuncs.com/courses/3584/geckodriver-v0.35.0-linux64.tar.gz
tar xf geckodriver-v0.35.0-linux64.tar.gz
- 解压之后得到geckodriver
- ~/Code就是我们的selenium driver的路径
- 如果我们在~/Code下执行py文件
- 就不用再设置路径
- /home/shiyanlou/Code/
from selenium.webdriver.firefox.service import Service
from selenium import webdriver
service = Service(executable_path="/home/shiyanlou/Code/geckodriver")
driver = webdriver.Firefox(service=service)
driver.get("https://lanqiao.cn")
driver.quit()- 可以让本地火狐浏览器访问lanqiao.cn
- 注意浏览器的地址栏有粉色底纹
echo $PATH
sudo cp ./geckodriver /usr/bin
geckodriver- 可以运行
- ctrl + c
- 结束进程
- 尝试将路径简化
from selenium.webdriver.firefox.service import Service
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://lanqiao.cn")
driver.quit()
- 修改了executable_path
- 可以运行成功!
- 可以延迟一定时间吗?
import time
from selenium.webdriver.firefox.service import Service
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://lanqiao.cn")
time.sleep(10)
driver.quit()
- 延迟10秒
- 然后退出
- 设置safari浏览器编号设置
- 高级里面找到开发菜单
- 找到开发者
- 允许远程自动化
- 驱动Safari
from selenium import webdriver
from time import sleep
driver = webdriver.Safari() # 启动safari
driver.get('http://baidu.com') # 打开baidu
sleep(3)
driver.quit() # 关掉safari进程
- 确实可以使用
- 下载驱动并解压
- 这个路径下可以直接使用geckodriver.exe
- 是否可以把这个放到windows的系统目录中呢?
- 确定专门的路径
- 将geckodriver.exe
- 放到c:\Windows\system32
- 这样就可以在任意路径下运行geckodriver.exe了
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("http://www.lanqiao.cn")
driver.maximize_window()
print("title-----",driver.title.encode().decode("utf-8"))
print(driver.title)
driver.quit()
- 访问成功
- 这次我们了解了 selenium
- selenium是 一个驱动真实浏览器的 工具
- 支持 各种系统、很多种 主流浏览器
- 把 浏览器的各种操作
- 封装成 各种语言的 接口
- 我们使用 python的接口
- 就可以让 一个真实浏览器 去访问网站
- 从而 得到爬取的 效果
- 可以 爬下来些什么 呢?🤔
- 下次再说👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。


















