免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
零代碼爬蟲(chóng)神器 -- Web Scraper
經(jīng)常會(huì)遇到一些簡(jiǎn)單的需求,需要爬取某網(wǎng)站上的一些數(shù)據(jù),但這些頁(yè)面的結(jié)構(gòu)非常的簡(jiǎn)單,并且數(shù)據(jù)量比較小,自己寫(xiě)代碼固然可以實(shí)現(xiàn),但殺雞焉用牛刀?

目前市面上已經(jīng)有一些比較成熟的零代碼爬蟲(chóng)工具,比如說(shuō)八爪魚(yú),有現(xiàn)成的模板可以使用,同時(shí)也可以自己定義一些抓取規(guī)則。但我今天要介紹的是另外一個(gè)神器 -- Web Scraper,它是 Chrome 瀏覽器的一個(gè)擴(kuò)展插件,安裝后你可以直接在F12調(diào)試工具里使用它。

# 1. 安裝 Web Scraper

有條件的同學(xué),可以直接在商店里搜索 Web Scraper 安裝它

沒(méi)有條件的同學(xué),可以來(lái)這個(gè)網(wǎng)站(https://crxdl.com/)下載 crx 文件,再離線安裝,具體方法可借助搜索引擎解決

安裝好后,需要重啟一次 Chrome, 然后 F12 就可以看到該工具

# 2. 基本概念與操作

在使用 Web Scraper 之前,需要講解一下它的一些基本概念:

sitemap

直譯起來(lái)是網(wǎng)站地圖,有了該地圖爬蟲(chóng)就可以順著它獲取到我們所需的數(shù)據(jù)。

因此 sitemap 其實(shí)就可以理解為一個(gè)網(wǎng)站的爬蟲(chóng)程序,要爬取多個(gè)網(wǎng)站數(shù)據(jù),就要定義多個(gè) sitemap。

sitemap 是支持導(dǎo)出和導(dǎo)入的,這意味著,你寫(xiě)的 sitemap 可以分享給其他人使用的。

從下圖可以看到 sitemap 代碼就是一串 JSON 配置

只要拿到這個(gè)配置你就可以導(dǎo)入別人的 sitemap

Selector

直譯起來(lái)是選擇器,從一個(gè)布滿數(shù)據(jù)的 HTML 頁(yè)面中去取出數(shù)據(jù),就需要選擇器去定位我們的數(shù)據(jù)的具體位置。

每一個(gè) Selector 可以獲取一個(gè)數(shù)據(jù),要取多個(gè)數(shù)據(jù)就需要定位多個(gè) Selector。

Web Scraper 提供的 Selector 有很多,但本篇文章只介紹幾種使用頻率最高,覆蓋范圍最廣的 Selector,了解了一兩種之后,其他的原理大同小異,私下再了解一下很快就能上手。

Web Scraper 使用的是 CSS 選擇器來(lái)定位元素,如果你不知道它,也無(wú)大礙,在大部分場(chǎng)景上,你可以直接用鼠標(biāo)點(diǎn)選的方式選中元素, Web Scraper 會(huì)自動(dòng)解析出對(duì)應(yīng)的 CSS 路徑。

Selector 是可以嵌套的,子 Selector 的 CSS 選擇器作用域就是父 Selector。

正是有了這種無(wú)窮無(wú)盡的嵌套關(guān)系,才讓我們可以遞歸爬取整個(gè)網(wǎng)站的數(shù)據(jù)。

如下就是后面我們會(huì)經(jīng)常放的 選擇器拓?fù)?,利用它可以直觀的展示 Web Scraper 的爬取邏輯

數(shù)據(jù)爬取與導(dǎo)出

在定義好你的 sitemap 規(guī)則后,點(diǎn)擊 Scrape 就可以開(kāi)始爬取數(shù)據(jù)。

爬取完數(shù)據(jù)后,不會(huì)立馬顯示在頁(yè)面上,需要你再手動(dòng)點(diǎn)擊一下 refresh 按鈕,才能看到數(shù)據(jù)。

最后數(shù)據(jù)同樣是可以導(dǎo)出為 csv 或者 xlsx 文件。

# 3. 分頁(yè)器的爬取

爬取數(shù)據(jù)最經(jīng)典的模型就是列表、分頁(yè)、詳情,接下來(lái)我也將圍繞這個(gè)方向,以爬取 CSDN 博客文章去介紹幾個(gè) Selector 的用法。

分頁(yè)器可以分為兩種:

  • 一種是,點(diǎn) 下一頁(yè) 就會(huì)重新加載一個(gè)頁(yè)面

  • 一種是:點(diǎn) 下一頁(yè) 只是當(dāng)前頁(yè)面的部分內(nèi)容重新渲染

在早期的 web-scraper 版本中,這兩種的爬取方法有所不同。

  • 對(duì)于需要重新加載頁(yè)面的,需要 Link 選擇器

  • 對(duì)于不需要重新加載頁(yè)面的,可以使用 Element Click 選擇器

對(duì)于某些網(wǎng)站的確是夠用了,但卻有很大的局限性。

經(jīng)過(guò)我的試驗(yàn),第一種使用 Link 選擇器的原理就是取出 下一頁(yè) 的 a 標(biāo)簽的超鏈接,然后去訪問(wèn),但并不是所有網(wǎng)站的下一頁(yè)都是通過(guò) a 標(biāo)簽實(shí)現(xiàn)。

像下面這樣用 js 監(jiān)聽(tīng)事件然后跳轉(zhuǎn)的,就無(wú)法使用  Link 選擇器 。

而在新版的 web scraper ,對(duì)導(dǎo)航分頁(yè)器提供了特別的支持,加了一個(gè) Pagination 的選擇器,可以完全適用兩種場(chǎng)景,下面我會(huì)分別演示。

 不重載頁(yè)面的分頁(yè)器爬取

點(diǎn)入具體一篇 CSDN 博文,拉到底部,就能看到評(píng)論區(qū)。

如果你的文章比較火,評(píng)論的同學(xué)很多的時(shí)候,CSDN 會(huì)對(duì)其進(jìn)行分頁(yè)展示,但不論在哪一頁(yè)的評(píng)論,他們都隸屬于同一篇文章,當(dāng)你瀏覽任意一頁(yè)的評(píng)論區(qū)時(shí),博文沒(méi)有必要刷新,因?yàn)檫@種分頁(yè)并不會(huì)重載頁(yè)面。

對(duì)于這種不需要重載頁(yè)面的點(diǎn)擊,完全可以使用 Element Click 來(lái)解決。

其中最后一點(diǎn)千萬(wàn)注意,要選擇 root 和 next_page,只有這樣,才能遞歸爬取

最后爬取的效果如下

使用 Element Click  的 sitemap 配置如下,你可以直接導(dǎo)入我的配置進(jìn)行研究,配置文件下載:https://wwe.lanzoui.com/iidSSwghkch

當(dāng)然啦,對(duì)于分頁(yè)這種事情,web scraper 提供了更專業(yè)的 Pagination 選擇器,它的配置更為精簡(jiǎn),效果也最好

對(duì)應(yīng)的 sitemap 的配置如下,你可以直接導(dǎo)入使用 ,配置文件下載:https://wwe.lanzoui.com/iidSSwghkch

 要重載頁(yè)面的分頁(yè)器爬取

CSDN 的博客文章列表,拉到底部,點(diǎn)擊具體的頁(yè)面按鈕,或者最右邊的下一頁(yè)就會(huì)重載當(dāng)前的頁(yè)面。

而對(duì)于這種分頁(yè)器,Element Click 就無(wú)能為力了,讀者可自行驗(yàn)證一下,最多只能爬取一頁(yè)就會(huì)關(guān)閉了。

而作為為分頁(yè)而生的 Pagination 選擇器自然是適用的

爬取的拓?fù)渑c上面都是一樣的,這里不再贅述。

對(duì)應(yīng)的 sitemap 的配置如下,你可以直接導(dǎo)入去學(xué)習(xí),配置文件下載:https://wwe.lanzoui.com/iidSSwghkch

# 4. 二級(jí)頁(yè)面的爬取

CSDN 的博客列表列表頁(yè),展示的信息比較粗糙,只有標(biāo)題、發(fā)表時(shí)間、閱讀量、評(píng)論數(shù),是否原創(chuàng)。

想要獲取更多的信息,諸如博文的正文、點(diǎn)贊數(shù)、收藏?cái)?shù)、評(píng)論區(qū)內(nèi)容,就得點(diǎn)進(jìn)去具體的博文鏈接進(jìn)行查看

web scraper 的操作邏輯與人是相通的,想要抓取更多博文的詳細(xì)信息,就得打開(kāi)一個(gè)新的頁(yè)面去獲取,而 web scraper 的 Link 選擇器恰好就是做這個(gè)事情的。

爬取路徑拓?fù)淙缦?/p>

爬取的效果如下

sitemap 的配置如下,你可以直接導(dǎo)入使用,配置文件下載:https://wwe.lanzoui.com/iidSSwghkch

# 5. 寫(xiě)在最后

上面梳理了分頁(yè)與二級(jí)頁(yè)面的爬取方案,主要是:分頁(yè)器抓取和二級(jí)頁(yè)面抓取。

只要學(xué)會(huì)了這兩個(gè),你就已經(jīng)可以應(yīng)對(duì)絕大多數(shù)的結(jié)構(gòu)性網(wǎng)頁(yè)數(shù)據(jù)了。

例如你可以爬取自己發(fā)表在 CSDN 上的所有博文信息,包括:標(biāo)題、鏈接、文章內(nèi)容、閱讀數(shù),評(píng)論數(shù)、點(diǎn)贊數(shù),收藏?cái)?shù)。

當(dāng)然想要用好 web scraper 這個(gè)零代碼爬取工具,你可能需要有一些基礎(chǔ),比如:

  • CSS 選擇器的知識(shí):如何抓取元素的屬性,如何抓取第 n 個(gè)元素,如何抓取指定數(shù)量的元素?

  • 正則表達(dá)式的知識(shí):如何對(duì)抓取的內(nèi)容進(jìn)行初步加工?

受限于篇幅,我盡量講 web scraper 最核心的操作,其他的基礎(chǔ)內(nèi)容只能由大家自行充電學(xué)習(xí)了。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
網(wǎng)頁(yè)爬蟲(chóng):零基礎(chǔ)用爬蟲(chóng)爬取網(wǎng)頁(yè)內(nèi)容
Web Scraper 高級(jí)用法——Web Scraper 抓取多條內(nèi)容 | 簡(jiǎn)易數(shù)據(jù)分析 07
推薦一個(gè)網(wǎng)頁(yè)抓取小工具Web Scraper
小試web scraper來(lái)爬蟲(chóng)
全網(wǎng)最簡(jiǎn)單的數(shù)據(jù)采集自動(dòng)化工具
超酷!我不寫(xiě)一行代碼,爬取GitHub上幾萬(wàn)的Python庫(kù)(教程分享)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服