今天是持續寫作的第 18 / 100 天,
如果你有想要交流的想法、技術,歡迎在評論區留言,
本篇博客將帶你解決網頁加載更多按鈕點擊的問題,學習之后,你只需點點滑鼠,資料就可以快速存盤到本地,
此類教程涉及圖片比較多,學習的時候大量的依賴實操,所以在后續本系列內容將轉換為視頻載體提供給大家,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218352.png)

目標網站分析
本次要抓取的網站為:產品 100,該網站最大的特點是點擊【加載更多】按鈕會加載資料,類似的網站非常多,Web Scraper 對于該種型別的網站解決辦法是一致的,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218354.gif)
本案例最終希望獲得的資料為下圖框選區域,分別是標題 title、描述 des、作者 author、瀏覽 view、評論 comment、點贊 like,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218355.png)
簡單分析之后就可以開始通過 Web Scraper 進行爬蟲程式的撰寫了,
點滑鼠寫爬蟲
第一步,創建 sitemap
寫入 sitemap 名稱與 start url,完成初審內容的創建,因為是通過加載更多按鈕獲取資料,所以 start url 不需要設定分頁,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218356.png)
第二步,添加 Element 選擇器
添加 Element 選擇器這里需要掌握一個新的知識了,咱選擇的是 Element click,這個就是加載更多(有可能會叫其它名字)按鈕,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218357.png)
關于 Element Click 官方檔案給出的說明是,
Element click selector works similarly to Element selector. It’s main purpose also is element selection that could be given as parent elements to its child selectors. The only difference is that Element click selector can interact with the web page by clicking on buttons to load new elements. For example a page might use JavaScript and AJAX for pagination or item loading.
英語水平很高的橡皮擦要進行翻譯了:
Element click 跟之前學習的 Element 差不多,主要用于選擇網頁元素,一般目的就是當做父標簽去選擇子標簽,這個與之前學到的 Element 最大的區別就是支持點擊加載更多這樣的按鈕,
還有一個需要注意的是,選擇加載更多按鈕的時候,用鍵盤上的 S 進行選擇,為啥啊?因為在 [加載更多] 按鈕上點擊滑鼠左鍵,很容易就 [加載更多] 資料了,
選擇該 Type 之后,多出一些內容,具體如下圖所示,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218358.png)
以上內容分別是,
- Click selector 選擇加載更多按鈕;
- Click type 點擊型別,可以點擊多次,也可以點擊一次,本案例請選擇 Click more;
- Click element uniqueness 何時停止抓取資料,一般會選擇 Unique Text,表示按鈕文字更換就停止,本案例到最后就是
加載更多按鈕變為沒有更多了,此時資料就會停止抓取; - Discard initial elements 是否丟棄初始資料,保持默認就可以;
- Delay 延遲時間,點擊加載更多之后的等待時間,一般設定 1~2 秒即可,
第三步,配置好所有引數
有了上述基礎知識后,就可以進行引數配置了,配置完畢如下圖所示,原 Selector 依舊按照 Element 選擇方式框選目標資料所在區域即可,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/203137101218359.png)
第四步,選擇子元素
父級元素已經確定,接下來選擇子元素,按照下圖所示進入子元素添加頁面,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183510.png)
依次將目標資料需要的內容全部設定完畢,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183511.png)
調整一下瀏覽量引數,id 最少為 3 個字符,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183512.png)
第五步,查看爬蟲結構
爬蟲的結構在爬取之前建議大家都核對一下,確保沒啥問題,在進行爬蟲程式的啟動,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183513.png)
第六步,運行爬蟲
使用 Scrape 將爬蟲啟動,等待資料進入籃子里面來,結果發現運行一次就停止了,查閱爬蟲程式之后發現是下圖設定的問題,Click type 修改為 Click more,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183514.png)
運行一段時間之后,得到資料如下,
![【黑科技】爬蟲也可以一鍵獲取 [加載更多] 資料,無編碼學爬蟲之三,](https://img.uj5u.com/2020/12/10/2031371012183515.png)
寫在后面
本文之后,對于 Web Scraper 你肯定會多一些喜歡,畢竟手動撰寫代碼處理有 [加載更多] 按鈕的網站,有時候會碰到一些麻煩,爬蟲不是很好寫,而掌握了 Web Scraper 之后,這種型別的網站會變成通解,
想學 Python 撰寫語言寫爬蟲,可以訂閱橡皮擦專欄哦~
🈲🈲🈲🈲 《爬蟲百例教程》點擊發現驚喜 🈲🈲🈲🈲
如果你想跟博主建立親密關系,可以關注博主,或者關注博主公眾號“非本科程式員”,了解一個非本科程式員是如何成長的,
博主 ID:夢想橡皮擦,希望大家點贊、評論、收藏,
CSDN認證博客專家
大學老師
高級產品經理
互聯網從業者
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/232493.html
標籤:其他
