介绍

  • 什么是硒
    • Web 浏览器操作自动化框架

0. 假设

  • Python 已安装

1.准备文件

  • 为 Selenium 创建一个目录和文件(什么都可以)
    • 在 VSCode 等编辑器中打开
例子
(base) sample@SampleMBP ~ % cd Desktop
(base) sample@SampleMBP Desktop % mkdir Selenium
(base) sample@SampleMBP Desktop % cd Selenium
(base) sample@SampleMBP Selenium % touch sample.py
(base) sample@SampleMBP Selenium % pwd
/Users/username/Desktop/Selenium
(base) sample@SampleMBP Selenium % ls -l
total 0
-rw-r--r--  1 username  staff  0 10  2 20:58 sample.py
(base) sample@SampleMBP Selenium % code .

2.检查Pip3包版本

$ pip3 -V
执行结果示例
pip 22.2.2 from /Users/username/.pyenv/versions/3.10.6/lib/python3.10/site-packages/pip (python 3.10)

3.检查Python3版本

$ python3 -V
执行结果示例
Python 3.10.6

4.安装Chrome驱动

① 在浏览器上查看 Chrome 的版本

点击工具栏中的“关于 Google Chrome”
【スクレイピング】Seleniumを使用したブラウザ操作自動化

【スクレイピング】Seleniumを使用したブラウザ操作自動化

基于此版本的后续工作

② 下载chromedriver-binary

【スクレイピング】Seleniumを使用したブラウザ操作自動化

选择与您在浏览器中看到的版本最接近的版本。
在这种情况下,它将是ChromeDriver 106.0.5249.61

  • 您将被带到下面的屏幕,因此请根据您的 PC 选择 chromedriver 的 zip 文件进行下载。
    • 在我的例子中,它是 M1Mac,所以选择chromedriver_mac_arm64.zip

【スクレイピング】Seleniumを使用したブラウザ操作自動化

  • 解压zip文件后,直接移动到你要执行的文件所在的目录下。

例子
【スクレイピング】Seleniumを使用したブラウザ操作自動化

③ 安装chromedriver-binary

  • 这里选择与下载的 chromedriver-binary 相同的版本
    • 这一次106.0.5249.61.0

【スクレイピング】Seleniumを使用したブラウザ操作自動化

  • 在选定屏幕上复制并执行命令
$ pip install chromedriver-binary==106.0.5249.61.0
例子
(base) sample@SampleMBP Selenium % pip install chromedriver-binary==106.0.5249.61.0
Collecting chromedriver-binary==106.0.5249.61.0
  Using cached chromedriver-binary-106.0.5249.61.0.tar.gz (5.0 kB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for chromedriver-binary, since package 'wheel' is not installed.
Installing collected packages: chromedriver-binary
  Running setup.py install for chromedriver-binary ... done

安装成功

无法打开“chromedriver”,因为无法验证开发者。如果出现请点击这里

5. 安装硒

$ pip3 install selenium --user

这时候如果收到アップグレード出来るよー。要検討してねー。这样的警告,请升级

$ pip install --upgrade pip

6.编写可执行文件

硒/sample.py
import chromedriver_binary
from selenium import webdriver
from selenium.webdriver.common.by import By

# 1. Qiitaの @rexid のプロフィールページにアクセス
driver = webdriver.Chrome()
driver.get('https://qiita.com/rexid')
print(driver.current_url)
# > https://qiita.com/rexid

# 2. 一番最初に表示されている記事のタイトルのURLを取得
article_links = driver.find_elements(By.XPATH, '//div[@class="css-1ebnygn"]/article/a')
print(article_links[0].get_attribute('href'))
# > https://qiita.com/rexid/items/一番最初に表示されている記事のURL

# 3. ブラウザを終了する
driver.quit()

使用开发者工具写作

7. 运行

$ python3 ファイル名
例子
(base) sample@SampleMBP Selenium % python3 sample.py
https://qiita.com/rexid
https://qiita.com/rexid/items/0c19ef88faeccc1c53ff
(base) sample@SampleMBP Selenium %

完成

联系

  • [Scraping] 数据提取 → CSV 文件创建(全自动)
  • [抓取] 获取并保存网站上的图像(全自动)

原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308628225.html

相关文章: