iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
自我挑戰組

待業不頹廢系列 第 11

Day 11 . 欸 今天要幹嘛 - python 動態爬蟲 (上)

  • 分享至 

  • xImage
  •  

行前提要

接續昨天提到的五點

  1. ✅ 安裝 Selenium,這步驟昨天默默地完成了
  2. WebDriver 的選擇,瀏覽器版本先確認(實作瀏覽器為 Chrome )
  3. 下載對應的 WebDriver
  4. 安排路徑
  5. 編寫程式碼

不知道今天能走到步驟幾 🫠

2.瀏覽器版本確認

確認 chrome 版本
(如下圖)打開瀏覽器,又上有選單有個更多點點可以展開,
選取 說明 → 關於 google chrome
瀏覽器版本查看方式

瀏覽器版本號
版本號是 116.0.5845……,接下來就去找適合的 WebDriver 吧!

3.下載對應的 WebDriver

這階段的操作,需至官網手動下載,並非指令處理!
本以為找到最符合的版本下載位置(下圖)
ChromeDriver info
但實在搞不定,找不到可以下載壓縮檔案的地方
只好退而求其次的,在下載區找到 ChromeDriver 114.0.5735.90
ChromeDriver downloads

 ChromeDriver 114.0.5735.90

選擇符合的下載,就可以準備進行路徑的處理
是說正當我文章進行到這的同時發現,有個問題是當初沒有發現的,
但如果我現在處理起來,後面的 code 會有所不同,
所以我決定到時候再來說說,發現問題後的處理以及變化。

4. 安排路徑

兩種方式可以設定:指令方式 or 圖形介面方式處理
讓 Selenium 能夠在任何位置找到 ChromeDriver 的可執行文件。

  • 指令方式
    (相較圖形界面,偏囉唆🙂)
    下載好解壓縮,接下來要配路徑
    目的是讓 Selenium 能夠在任何位置找到 ChromeDriver 的可執行文件。這樣只需指定ChromeDriver的名稱,而不需要提供完整的路徑。

    操作如下:
    在終端機處理,並不需要在意目錄位置
    依據 運行 echo $SHELL 命令以確定你使用的是哪種 shell
    執行編輯shell配置文件的命令,例如:

    1. 使用的是 bash shell,$ nano ~/.bashrc 來編輯 .bashrc 文件。

    2. ✅ 我使用的是 zsh shell, $ nano ~/.zshrc 來編輯 .zshrc 文件。
      在配置文件中添加將 ChromeDriver 所在文件夾的路徑添加到 PATH 變量的行,然後保存配置文件。(這行的意思,操作如下 zsh)
      打開 .zshrc 文件以使用 nano 文本編輯器 進行編輯、添加、修改或刪除任何配置項。
      nano 文本編輯器
      現在我們需要在最下面 增添並指定路徑,
      細說一點就是 在上圖中的下面一行新增(可以透過方向鍵來移動)

      export PATH="/opt/homebrew/opt/node@14/bin:$PATH” (原本就有的)
      export PATH=$PATH:/path/to/chromedriver_folder(我們要新增的)
      

      編輯完畢,使用 Ctrl 鍵加上不同的快捷鍵來執行操作。
      例如,Ctrl+O (英文O,不是數字零)用於保存文件,Ctrl+X 用於退出 nano。
      Ctrl+O ⬇️
      https://ithelp.ithome.com.tw/upload/images/20230926/201501817j3JLtO38V.png
      Ctrl+X ⬇️(編輯器中最下面兩行,也有提供訊息例如:離開)
      https://ithelp.ithome.com.tw/upload/images/20230926/20150181GIIabyz5J3.png
      離開編輯後會跳出
      下指令 $ source ~/.zshrc 使新的配置生效,這樣你就完成了在 zsh 中編輯 .zshrc 文件。
      如果在運行 source ~/.zshrc 後沒有出現錯誤消息,並且終端沒有任何反應,通常表示命令已成功執行。這意味著你的 .zshrc 文件中的更改已經生效。
      在大多數情況下,你可能不會看到任何輸出,除非你的 .zshrc 文件中包含輸出或命令,否則終端會保持靜默。
      https://ithelp.ithome.com.tw/upload/images/20230926/20150181kNTM92f2gD.png
      只要將 ChromeDriver 所在文件夾的路徑添加到系統PATH中,Selenium 就能自動查找可執行文件。
      結束以上操作後,可以在 Python 中使用 Selenium 來控制 Chrome 瀏覽器,並且不需要提供完整的 ChromeDriver 路徑。

  • 圖形介面(GUI)方式處理(相較指令,方便許多🙂)
    使用圖形用戶界面 (GUI) 的方式(文章連結步驟)
    將 ChromeDriver 複製到 /usr/local/bin 目錄中。
    這與在終端中使用命令行進行操作的效果是相同的。

    1.打開 Finder
    Finder

    2.並按下組合鍵 Command + Shift + G
    輸入 /usr/local 並點擊前往按鈕,在 /usr/local 文件夾中,找到 bin 文件夾。
    https://ithelp.ithome.com.tw/upload/images/20230926/20150181Ie7MytmbPG.png
    3.複製 搬移
    打開另一個 Finder 窗口,找到下載並解壓的 ChromeDriver 文件所在的文件夾。
    將 ChromeDriver 文件 → 拖曳到 /usr/local/bin 文件夾中。
    這將複製 ChromeDriver 文件到 /usr/local/bin
    這種方法與指令配置文件添加路徑的方式是一樣的,所以說圖形介面好像…快速滿多(尬笑

小結

看來只剩下第五個 編寫程式碼
明天再來處理看看會遇到什麼問題💥

文獻參考

用 Python 匯入 Selenium 的方式,以及如何用mac 安裝 ChromeDriver
動態網頁爬蟲第一道鎖 — Selenium教學:如何使用Webdriver、send_keys(附Python 程式碼)


上一篇
Day 10 . 欸 今天要幹嘛 - python 動態爬蟲的前置處理
下一篇
Day 12 . 欸 今天要幹嘛 - python 動態爬蟲(下)
系列文
待業不頹廢30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言