這是簡易數(shù)據(jù)分析系列的第 12 篇文章。




本文首發(fā)于博客園:簡易數(shù)據(jù)分析 12。




前面幾篇文章我們介紹了 Web Scraper 應(yīng)對各種翻頁的解決方" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > 簡易數(shù)據(jù)分析 12 | Web Scraper 翻頁——抓取分頁器翻頁的網(wǎng)頁

簡易數(shù)據(jù)分析 12 | Web Scraper 翻頁——抓取分頁器翻頁的網(wǎng)頁

時(shí)間:2023-09-08 07:24:01 | 來源:網(wǎng)站運(yùn)營

時(shí)間:2023-09-08 07:24:01 來源:網(wǎng)站運(yùn)營

簡易數(shù)據(jù)分析 12 | Web Scraper 翻頁——抓取分頁器翻頁的網(wǎng)頁:







這是簡易數(shù)據(jù)分析系列的第 12 篇文章。




本文首發(fā)于博客園:簡易數(shù)據(jù)分析 12。




前面幾篇文章我們介紹了 Web Scraper 應(yīng)對各種翻頁的解決方法,比如說修改網(wǎng)頁鏈接加載數(shù)據(jù)、點(diǎn)擊“更多按鈕“加載數(shù)據(jù)和下拉自動(dòng)加載數(shù)據(jù)。今天我們說說一種更常見的翻頁類型——分頁器




本來想解釋一下啥叫分頁器,翻了一堆定義覺得很繁瑣,大家也不是第一年上網(wǎng)了,看張圖就知道了。我找了個(gè)功能最全的例子,支持?jǐn)?shù)字頁碼調(diào)整,上一頁下一頁和指定頁數(shù)跳轉(zhuǎn)。













今天我們就學(xué)學(xué),Web Scraper 怎么對付這種類型的網(wǎng)頁翻頁。




其實(shí)我們在本教程的第一個(gè)例子,抓取豆瓣電影 TOP 排行榜中,豆瓣的這個(gè)電影榜單就是用分頁器分割數(shù)據(jù)的:













但當(dāng)時(shí)我們是找網(wǎng)頁鏈接規(guī)律抓取的,沒有利用分頁器去抓取。因?yàn)楫?dāng)一個(gè)網(wǎng)頁的鏈接變化規(guī)律時(shí),控制鏈接參數(shù)抓取是實(shí)現(xiàn)成本最低的;如果這個(gè)網(wǎng)頁進(jìn)可以翻頁,但是鏈接的變化不是規(guī)律的,就得去會(huì)一會(huì)這個(gè)分頁器了。




說這些理論有些枯燥,我們舉個(gè)翻頁鏈接不規(guī)律的例子。




8 月 2 日是蔡徐坤的生日,為了表達(dá)慶祝,在微博上粉絲們給坤坤刷了 300W 的轉(zhuǎn)發(fā)量,微博的轉(zhuǎn)發(fā)數(shù)據(jù)正好是用分頁器分割的,我們就分析一下微博的轉(zhuǎn)發(fā)信息頁面,看看這類數(shù)據(jù)怎么用 Web Scraper 抓取。













這條微博的直達(dá)鏈接是:

https://weibo.com/1776448504/I0gyT8aeQ?type=repost




看了他那么多的視頻,為了表達(dá)感激,我們可以點(diǎn)進(jìn)去出為坤坤加一份閱讀量。




首先我們看看第 1 頁轉(zhuǎn)發(fā)的鏈接,長這個(gè)樣子:

https://weibo.com/1776448504/I0gyT8aeQ?type=repost



第 2 頁長這個(gè)樣子,注意到多了個(gè) #_rnd1568563840036 參數(shù):

https://weibo.com/1776448504/I0gyT8aeQ?type=repost#_rnd1568563840036



第 3 頁參數(shù)為 #_rnd1568563861839

https://weibo.com/1776448504/I0gyT8aeQ?type=repost#_rnd1568563861839



第 4 頁參數(shù)為 #_rnd1568563882276

https://weibo.com/1776448504/I0gyT8aeQ?type=repost#_rnd1568563882276



多看幾個(gè)鏈接你就可以發(fā)現(xiàn),這個(gè)轉(zhuǎn)發(fā)網(wǎng)頁的網(wǎng)址毫無規(guī)律可言,所以只能通過分頁器去翻頁加載數(shù)據(jù)。下面就開始我們的實(shí)戰(zhàn)教學(xué)環(huán)節(jié)。







1.創(chuàng)建 SiteMap

我們首先創(chuàng)建一個(gè) SiteMap,這次取名為 cxk,起始鏈接為 https://weibo.com/1776448504/I0gyT8aeQ?type=repost。













2.創(chuàng)建容器的 selector




因?yàn)槲覀円c(diǎn)擊分頁器,外面的容器的類型我們選為 Element Click,具體的參數(shù)解釋可以看下圖,我們之前在簡易數(shù)據(jù)分析 08詳細(xì)解釋過一次,這里就不多言了。













container 的預(yù)覽是下圖的樣子:













分頁器選擇的過程可以參看下圖:



















3.創(chuàng)建子選擇器

這幾個(gè)子選擇器都比較簡單,類型都是文字選擇器,我們選擇了評論用戶名,評論內(nèi)容和評論時(shí)間三種類型的內(nèi)容。













4.抓取數(shù)據(jù)

按照 Sitemap cxk -> Scrape 的操作路徑就可以抓取數(shù)據(jù)了。







5.一些問題

如果你看了我上面的教程立馬去爬數(shù)據(jù),可能遇到的第一個(gè)問題就是,300w 的數(shù)據(jù),難道我全部爬下來嗎?




聽上去也不太現(xiàn)實(shí),畢竟 Web Scraper 針對的數(shù)據(jù)量都是相對比較小的,幾萬數(shù)據(jù)都算多的了,數(shù)據(jù)再大你就得考慮爬取時(shí)間是否太長,數(shù)據(jù)如何存儲(chǔ),如何應(yīng)對網(wǎng)址的反爬蟲系統(tǒng)(比如說冷不丁的跳出一個(gè)驗(yàn)證碼,這個(gè) Web Scraper 是無能為力的)。




考慮到這個(gè)問題,前面的自動(dòng)控制抓取數(shù)量的教程你又看過的話,可能想著用 :nth-of-type(-n+N) 控制抓取 N 條數(shù)據(jù)。如果你嘗試了,就會(huì)發(fā)現(xiàn)這個(gè)方法根本沒用。




失效的原因其實(shí)涉及到一點(diǎn)點(diǎn)網(wǎng)頁的知識(shí)了,感興趣的話可以看看下面的解釋,不感興趣可以直接看最后的結(jié)論。







像我前面介紹的點(diǎn)擊更多加載型網(wǎng)頁和下拉加載型網(wǎng)頁,他們新加載的數(shù)據(jù),是在當(dāng)前頁面追加的,你一直下拉,數(shù)據(jù)一直加載,同時(shí)網(wǎng)頁的滾動(dòng)條會(huì)越來越短,這意味著所有的數(shù)據(jù)都在同一個(gè)頁面。




當(dāng)我們用 :nth-of-type(-n+N) 控制加載數(shù)量時(shí),其實(shí)相當(dāng)于在這個(gè)網(wǎng)頁設(shè)立一個(gè)計(jì)數(shù)器,當(dāng)數(shù)據(jù)一直累加到我們想要的數(shù)量時(shí),就會(huì)停止抓取。




但是對于使用翻頁器的網(wǎng)頁,每次的翻頁相當(dāng)于刷新當(dāng)前網(wǎng)頁,這樣每次都會(huì)設(shè)立一個(gè)計(jì)數(shù)器。




比如說你想抓取 1000 條數(shù)據(jù),但是第 1 頁網(wǎng)頁只有 20 條數(shù)據(jù),抓到最后一條了,還差 980 條;然后一翻頁,又設(shè)立一個(gè)新的計(jì)數(shù)器,抓完第 2 頁的最后一條數(shù)據(jù),還差 980,一翻頁計(jì)數(shù)器就重置,又變成 1000 了......所以這個(gè)控制數(shù)量的方法就失效了。




所以結(jié)論就是,如果翻頁器類型的網(wǎng)頁想提前結(jié)束抓取,只有斷網(wǎng)的這種方法。當(dāng)然,如果你有更好的方案,可以在評論里回復(fù)我,我們可以互相討論一下。







6.總結(jié)

分頁器是一種很常見的網(wǎng)頁分頁方法,我們可以通過 Web Scraper 中的 Element click 處理這種類型的網(wǎng)頁,并通過斷網(wǎng)的方法結(jié)束抓取。







7.推薦閱讀




簡易數(shù)據(jù)分析 05 | Web Scraper 翻頁——控制鏈接批量抓取數(shù)據(jù)

簡易數(shù)據(jù)分析 08 | Web Scraper 翻頁——點(diǎn)擊「更多按鈕」翻頁

簡易數(shù)據(jù)分析 10 | Web Scraper 翻頁——抓取「滾動(dòng)加載」類型網(wǎng)頁

簡易數(shù)據(jù)分析 09 | Web Scraper 自動(dòng)控制抓取數(shù)量 & Web Scraper 父子選擇器
















關(guān)鍵詞:數(shù)據(jù),簡易,分析

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉