Context 爬蟲目標介紹 複習 Selenium WebDriver 複習 XPath 爬蟲程式 demo 與講解 (colab) Q & A 爬蟲目標 #1從 MoneyDJ 獲取所有基金資訊和績效 爬蟲目標 #2從 京東電商 透過下滑載入、點擊換頁獲取商品資訊 Selenium Webdriver 架構 Selenium command 會根據 JSON Wire Protocol 生成 HTTP request HTTP request 透過 browser driver 發送到 real browser 就可以看到啟動的 real browser 在根據我們的 scripts 進行操作 操作執行的訊息會回傳到 browser driver、再回傳到我們程式端的執行中,因此會看到是否成功的 log 、從網頁上抓取回來的資訊等 Selenium Options爬蟲常用到的 arguments: 設定 user-agent 設定編碼 設定螢幕大小 設定 headless …. Selenium 模擬瀏覽動作 等待一定秒數,若物件未能正確定位才噴錯 點擊網頁物件 執行 JavaScript 事件(例如滑動頁面) 按下特定鍵盤按鍵 輸入文字 XPath 語法結構網頁節點定位 節點 語法 h1 //h1 ul > li //ul/li div h4 //div//h4 節點屬性定位 屬性 語法 id //*[@id="id_value"] class > li //*[@class="class_value"] class 包含 course h4 //*[contains(@class, "course")] href //a/@href href 包含 .xml //a[end-with(@href, ".xml")] text //a/text() 依據順序定位 節點 語法 ul 下第二個 li //ul/li[2] 第二個 class 等於 tl 的 div //div[2][@class="tl"] 其他條件定位 屬性 語法 節點文字等於 search //*[text() = "search"] 節點文字包含 search //*[contains(text(), "search")] 有子節點的 ul 節點 //ul[*] 有 li 子傑點的 ul 節點 //ul[li] href 包含 .xml //a[ends - with(@href, ".xml")] 程式碼https://www.cupoy.com/collection/00000180B6E4E37F000000026375706F795F72656C656173654355/000001817B7CB12D000000086375706F795F72656C656173654349