1. 程式人生 > >簡易資料分析 08 | Web Scraper 翻頁——點選「更多按鈕」翻頁

簡易資料分析 08 | Web Scraper 翻頁——點選「更多按鈕」翻頁

這是簡易資料分析系列的第 8 篇文章。

我們在Web Scraper 翻頁——控制連結批量抓取資料一文中,介紹了控制網頁連結批量抓取資料的辦法。

但是你在預覽一些網站時,會發現隨著網頁的下拉,你需要點選類似於「載入更多」的按鈕去獲取資料,而網頁連結一直沒有變化。

所以控制連結批量抓去資料的方案失效了,所以我們需要模擬點選「載入更多」按鈕,去抓取更多的資料。

今天我們講的,就是利用 web scraper 裡的 Element click 模擬點選「載入更多」,去載入更多的資料。

這次的練習網站,我們拿少數派網站的熱門文章作為我們的練習物件,對應的網址連結是:

https://sspai.com/tag/%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0#home

為了複習上一個小節的內容,這次我們模擬點選翻頁的同時,還要抓取多條內容,包括作者、標題、點贊數和評論數。

下面開始我們的資料採集之路。

1.建立 sitmap

老規矩,第一步我們先建立一個少數派的 sitmap,取名為 sspai_hot,起始連結為 https://sspai.com/tag/%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0#home。

2.建立容器的 selector

通過上一節的內容,我們知道想在 web scraper 裡想抓取多種型別的資料,必須先建立一個容器(container),這個容器包含多種型別的資料,所以我們第二步就是要建立容器的 selector。

要注意的是,這個 selector 的 Type 型別選為 Element click,翻譯成中文就是模擬點選元素,意如其名,我們可以利用這種型別模擬點選「載入更多」按鈕。

這種型別的 selector,會多出幾個選項,第一個就是 Click selector,這個就是選擇「載入更多」按鈕的,具體操作可見下圖的動圖。

還有幾個多出來的選項,我們一一解釋一下:

1.Click type

點選型別,click more 表示點選多次,因為我們要抓取批量資料,這裡就選擇 click more,還有一個 click once 選項,點選一次

2.Click element uniqueness

這個選項是控制 Web Scraper 什麼時候停止抓取資料的。比如說 Unique Text,表示文字改變時停止抓取資料。

我們都知道,一個網站的資料不可能是無窮無盡的,總有載入完的時候,這時候「載入更多」按鈕文字可能就變成「沒有更多」、「沒有更多資料」、「載入完了」等文字,當文字變動時,Web scraper 就會知道沒有更多資料了,會自動停止抓取資料。

3.Multiple

這個我們的老朋友了,表示是否多選,這裡我們要抓取多條資料,當然要打勾。

4.Discard initial elements

是否丟棄初始元素,這個主要是去除一些網站的重複資料用的,不是很重要,我們這裡也用不到,直接選擇 Never discard,從不丟棄資料。

5.Delay

延遲時間,因為點選載入更多後,資料載入需要一段時間,delay 就是等待資料載入的時間。一般我們設定要大於等於 2000,因為延遲 2s 是一個比較合理的資料,如果網路不好,我們可以設定更大的數字。

3.建立子選擇器

接下來我們建立幾個子選擇器,分別抓取作者、標題、點贊數和評論數四種類型的資料,詳細操作我在上一篇教程中已經說明了,這裡我就不詳細說明了。整個爬蟲的結構如下,大家可以參考一下:

4.抓取資料

按照 Sitemap spay_hot -> Scrape 的操作路徑就可以抓取資料了。

今天我們學習了通過 Web Scraper 抓取點選載入更多型別的網頁。實踐過程中,你會發現這種型別的網頁無法控制爬取數目,不像豆瓣 TOP250,明明白白就是 250 條資料,不多也不少。下一篇我們就聊聊,如何利用 Web Scraper,自動控制抓取的數目。

推薦閱讀

簡易資料分析 04 | Web Scraper 初嘗--抓取豆瓣高分電影

簡易資料分析 06 | 如何匯入別人已經寫好的 Web Scraper 爬蟲

簡易資料分析 07 | Web Scraper 抓取多條內容


相關推薦

簡易資料分析 08 | Web Scraper ——按鈕

這是簡易資料分析系列的第 8 篇文章。 我們在Web Scraper 翻頁——控制連結批量抓取資料一文中,介紹了控制網頁連結批量抓取資料的辦法。 但是你在預覽一些網站時,會發現隨著網頁的下拉,你需要點選類似於「載入更多」的按鈕去獲取資料,而網頁連結一直沒有變化。 所以控制連結批量抓去資料的方案失效了,所以

簡易資料分析 10 | Web Scraper ——抓取滾動載入型別網頁

這是簡易資料分析系列的第 10 篇文章。 友情提示:這一篇文章的內容較多,資訊量比較大,希望大家學習的時候多看幾遍。 我們在刷朋友圈刷微博的時候,總會強調一個『刷』字,因為看動態的時候,當把內容拉到螢幕末尾的時候,APP 就會自動載入下一頁的資料,從體驗上來看,資料會源源不斷的加載出來,永遠沒有盡頭。

簡易資料分析 12 | Web Scraper ——抓取分的網頁

這是簡易資料分析系列的第 12 篇文章。 前面幾篇文章我們介紹了 Web Scraper 應對各種翻頁的解決方法,比如說修改網頁連結載入資料、點選“更多按鈕“載入資料和下拉自動載入資料。今天我們說說一種更常見的翻頁型別——分頁器。 本來想解釋一下啥叫分頁器,翻了一堆定義覺得很繁瑣,大家也不是第一年上網了,

簡易資料分析 02 | Web Scraper 的下載與安裝

這是簡易資料分析系列的第 2 篇文章。 上篇說了資料分析在生活中的重要性,從這篇開始,我們就要進入分析的實戰內容了。資料分析資料分析,沒有資料怎麼分析?所以我們首先要學會採集資料。 我調研了很多采集資料的軟體,綜合評定下來發現最好用的還是 Web Scraper,這是一款 Chrome 瀏覽器外掛。

簡易資料分析 04 | Web Scraper 初嘗--抓取豆瓣高分電影

這是簡易資料分析系列的第 4 篇文章。 今天我們開始資料抓取的第一課,完成我們的第一個爬蟲。因為是剛剛開始,操作我會講的非常詳細,可能會有些囉嗦,希望各位不要嫌棄啊:) 有人之前可能學過一些爬蟲知識,總覺得這是個複雜的東西,什麼 HTTP、HTML、IP 池,在這裡我們都不考慮這些東西。一是小的資料量根本

簡易資料分析 07 | Web Scraper 抓取條內容

這是簡易資料分析系列的第 7 篇文章。 在第 4 篇文章裡,我講解了如何抓取單個網頁裡的單類資訊; 在第 5 篇文章裡,我講解了如何抓取多個網頁裡的單類資訊; 今天我們要講的是,如何抓取多個網頁裡的多類資訊。 這次的抓取是在簡易資料分析 05的基礎上進行的,所以我們一開始就解決了抓取多個網頁的問題,下面全

簡易資料分析 09 | Web Scraper 自動控制抓取數量 & Web Scraper 父子選擇器

這是簡易資料分析系列的第 9 篇文章。 今天我們說說 Web Scraper 的一些小功能:自動控制 Web Scraper 抓取數量和 Web Scraper 的父子選擇器。 如何只抓取前 100 條資料? 如果跟著上篇教程一步一步做下來,你會發現這個爬蟲會一直運作,根本停不下來。網頁有 1000 條資

簡易資料分析 11 | Web Scraper 抓取表格資料

這是簡易資料分析系列的第 11 篇文章。 今天我們講講如何抓取網頁表格裡的資料。首先我們分析一下,網頁裡的經典表格是怎麼構成的。 First Name 所在的行比較特殊,是一個表格的表頭,表示資訊分類 2-5 行是表格的主體,展示分類內容 經典表格就這些知識點,沒了。下面我們寫個簡單的表格 Web

簡易資料分析 13 | Web Scraper 高階用法——抓取二級頁面

這是簡易資料分析系列的第 13 篇文章。 不知不覺,web scraper 系列教程我已經寫了 10 篇了,這 10 篇內容,基本上覆蓋了 Web Scraper 大部分功能。今天的內容算這個系列的最後一篇文章了,下一章節我會開一個新坑,說說如何利用 Excel 對收集到的資料做一些格式化的處理和分析。

jq實現載入功能

頁面上實現類似於下拉載入更多的功能,這種是點選載入更多 。 大致思路是: 首先Ajax獲取到下一頁內容,返回json格式資料,如果是跨域請求可以用jsonp返回,通過jq的append()到某個元素後面 此時分頁的page+1,可以在“載入更多”按鈕上把總頁數和當前

移動Web前端,遊客商品的收藏按鈕,登入完成,回來之後,如何自動收藏

我們都知道,移動Web端(M站環境下),很多時候,前端是無法判斷使用者的登入狀態的,因為出於安全性考慮,與賬號相關的cookie欄位一般都是 http-only的。 如果前端想判斷使用者的登入狀態,需要主動去調後臺介面,根據後臺介面返回的狀態碼來判斷。 那麼,我如果想實現下面這樣一個場景,該怎麼做呢? 移動

PHP+Ajax載入列表資料例項

一款簡單實用的PHP+Ajax點選載入更多列表資料例項,實現原理:通過“更多”按鈕向服務端傳送Ajax請求,PHP根據分頁引數查詢

Web Scraper ——利用 Link 選擇器 | 簡易資料分析 14

這是簡易資料分析系列的第 14 篇文章。 今天我們還來聊聊 Web Scraper 翻頁的技巧。 這次的更新是受一位讀者啟發的,他當時想用 Web scraper 爬取一個分頁器分頁的網頁,卻發現我之前介紹的分頁器翻頁方法不管用。我研究了一下才發現我漏講了一種很常見的翻頁場景。 在 web scraper

Web Scraper 高階用法——抓取屬性資訊 | 簡易資料分析 16

這是簡易資料分析系列的第 16 篇文章。 這期課程我們講一個用的較少的 Web Scraper 功能——抓取屬性資訊。 網頁在展示資訊的時候,除了我們看到的內容,其實還有很多隱藏的資訊。我們拿豆瓣電影250舉個例子: 電影圖片正常顯示的時候是這個樣子: 如果網路異常,圖片載入失敗,就會顯示圖片的預設文

Web Scraper 高階用法——利用正則表示式篩選文字資訊 | 簡易資料分析 17

![](https://image-1255652541.cos.ap-shanghai.myqcloud.com/images/20200317225112.png) 這是簡易資料分析系列的**第 17 篇**文章。 學習了這麼多課,我想大家已經發現了,web scraper 主要是用來爬取**

cgmodel簡易資料分析

      CG模型網(www.cgmodel.com / www.cgmodel.cn)是一個以3D模型為主,針對所有CG設計行業使用者的互動、展示平臺。2006年6月創立於湖南長沙,現有註冊設計師/藝術家120萬,網站秉承“分享”的理念,通過整合優質的模型資源,

python資料分析08——pandas資料聚合與分組運算

python資料分析08——pandas資料聚合與分組運算 在將資料集載入、融合、準備好之後,通常就是計算分組統計或生成透視表, pandas提供了 一個靈活高效的groupby功能,它使你能以一種自然的方式對資料集進行切片、切塊、摘要等操作。 一、GroupBy機制 分組運算"

資料分析web後端哪個?

WEB開發中“前端”和“後端”的區別如下:  一、Web前端:  1)精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構。  2)精通CSS,能夠還原視覺設計,併兼容業界承認的主流瀏覽器。  3)熟悉JavaScript,瞭解ECMAScript基

php分 下一傳輸資料 防止丟失

方法分為兩種 第一種為點選下一頁a標籤直接附帶搜尋name值 第二種把搜尋值存session 點選下一頁是直接獲取session if(!isset($_GET['cont'])){ $cont = session('cont');}else { $cont = trim($_GET['co

爬蟲入坑到資料分析 ,自學Python的幾經驗分享

很多小夥伴入坑Python都是從爬蟲開始的,在簡單瞭解 HTTP 協議、網頁基礎知識和一些爬蟲庫之後,爬取一般的靜態網站根本不在話下。 寫幾十行程式碼便能實現表情包爬取 我也是從爬蟲開始,輕鬆爬取資料讓我感到快樂,但我逐漸意識到,爬取資料僅僅只是第一步,對資料進行分析才是重點。作為一名資料分析師,我的