Skip to content

Latest commit

 

History

History
210 lines (140 loc) · 4.65 KB

579-564969-安装环境.sy.md

File metadata and controls

210 lines (140 loc) · 4.65 KB
show version enable_checker
step
1.0
true

安装环境

selenium

  • 这次我们研究selenium
    • 这是个啥呢?

图片描述

  • selenium
    • [səˈliːniəm]
    • 硒(化学元素,用于制造电气设备和有色玻璃,人体缺此元素可致抑郁等病);
  • 我们去看看文档

官方文档

  • http://selenium.dev
  • 这是个浏览器的自动化工具
  • 可以把浏览器里面做的各种操作封装起来

图片描述

  • 具体来说有三种工具
    • web驱动
    • ide
    • 集群
  • 我们先来看web驱动

selenium webdriver

  • selenium可以用各种语言驱动市场上主流的各种浏览器
    • 我们选择python作为主要的语言

图片描述

  • 首先还是要安装库

安装

pip3 install selenium
  • 安装这个包

图片描述

安装浏览器驱动

图片描述

  • 不同系统上有不同浏览器的驱动
  • 我们分别来介绍一下

linux 的 firefox 驱动

图片描述

  • 可以下载到~/下载

解压

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
    • 可以运行成功!

mac 系统

  • 设置safari浏览器编号设置

图片描述

  • 高级里面找到开发菜单

图片描述

允许远程自动化

图片描述

使用驱动

from selenium import webdriver
from time import sleep
driver = webdriver.Safari()  # 启动safari
driver.get('http://baidu.com')  # 打开baidu
sleep(3)
driver.quit()  # 关掉safari进程
  • 确实可以使用

win系统

图片描述

  • 下载驱动并解压

图片描述

  • 这个路径下可以直接使用geckodriver.exe
  • 是否可以把这个放到windows的系统目录中呢?

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的接口
  • 就可以让一个真实浏览器去访问网站
  • 从而得到爬取的效果
  • 可以爬下来些什么呢?🤔
  • 下次再说👋