show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 这次我们研究selenium
- 这是个啥呢?
- selenium
- [səˈliːniəm]
- 硒(化学元素,用于制造电气设备和有色玻璃,人体缺此元素可致抑郁等病);
- 我们去看看文档
- http://selenium.dev
- 这是个浏览器的自动化工具
- 可以把浏览器里面做的各种操作封装起来
- 具体来说有三种工具
- web驱动
- ide
- 集群
- 我们先来看web驱动
- selenium可以用各种语言驱动市场上主流的各种浏览器
- 我们选择python作为主要的语言
- 首先还是要安装库
pip3 install selenium
- 安装这个包
- 不同系统上有不同浏览器的驱动
- 我们分别来介绍一下
- 可以下载到~/下载
cp ./下载/geckodriver-v...-linux.tar.gz ~/Code
cd Code
tar xf geckodriver-v...-linux.tar.gz
- 解压之后得到geckodriver
- ~/Code就是我们的selenium driver的路径
- 如果我们在~/Code下执行py文件
- 就不用再设置路径
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
service = Service(executable_path="geckodriver")
driver = webdriver.Firefox(service=service)
driver.get("https://lanqiao.cn")
driver.quit()
- 修改了executable_path
- 可以运行成功!
- 设置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.baidu.com")
driver.maximize_window()
print("title-----",driver.title.encode().decode("utf-8"))
print(driver.title)
driver.quit()
- 访问成功
- 这次我们了解了selenium
- selenium是一个驱动真实浏览器的爬虫
- 支持各种系统、很多种主流浏览器
- 把浏览器的各种操作封装成各种语言的接口
- 我们使用python的接口
- 就可以让一个真实浏览器去访问网站
- 从而得到爬取的效果
- 可以爬下来些什么呢?🤔
- 下次再说👋