使用西瓜助手和WebScraper免費獲取公眾號歷史文章

有一天考廉,需要爬取某個公眾號的歷史數(shù)據(jù)上忍,又不想花錢,所以研究了下WebScraper酱吝,成功地抓取到了近一年的所有文章數(shù)據(jù)也殖,沒花一分錢(西瓜助手應該需要先成為會員,不確定費用多少务热,我是通過活動免費領(lǐng)取的)忆嗜。

一、抓取邏輯

因為WebScraper是一個最常用的網(wǎng)頁爬蟲(對WebScraper不熟悉的同學可能先要去搜兩篇文章看看它的基礎用法)陕习,簡單地說就是只要你給他一個網(wǎng)頁霎褐,他就能把里面的內(nèi)容都給抓下來。

但是该镣,由于反爬的考慮冻璃,微信對公眾號歷史文章顯示的限制越來越嚴,搜狗瀏覽器损合、微信客戶端等地方都無法查看到完整的文章列表省艳。

有些免費工具,比如微小寶可以查看7天的文章嫁审,但是我要研究的這個公眾號更新頻率很低跋炕,一個月才發(fā)5-6次,近七天的文章也就1-2篇律适,根本滿足不了需求辐烂。

當然,還有一些網(wǎng)站捂贿,類似傳送門纠修,會幫你收集好歷史文章,但是僅限于一些熱門公眾號厂僧,而且很多公眾號的文章都比較舊扣草。

后來,無意中看到「西瓜助手」中可以查看一年的歷史數(shù)據(jù)颜屠,而且是網(wǎng)頁形式辰妙,所以想著和WebScraper結(jié)合起來試試,果然成功了甫窟,特分享給大家密浑。

注意:很多工具,包括微信自身在內(nèi)粗井,提供的功能經(jīng)常會變肴掷,如果你閱讀的時候發(fā)現(xiàn)這個方法不行了敬锐,也麻煩告訴我一聲,我好找一找新的方法呆瞻。

二、使用西瓜助手獲取公眾號歷史文章列表

1径玖、登錄西瓜助手

2痴脾、點擊左側(cè)導航欄里的“素材收集”——“全網(wǎng)優(yōu)質(zhì)素材”,然后在右面界面的輸入框(下圖2)中輸入公眾號梳星,然后點擊【搜公眾號】赞赖。

3、在搜索結(jié)果列表中選擇你要找的公眾號冤灾,點擊即可打開公眾號詳情頁面前域。

4暴浦、在頁面下方有個“最新推文”tab翻斟,里面可以查看最新的公眾號文章,點擊下方【加載更多歷史文章...】按鈕可以顯示更多的歷史文章虎忌。

三归粉、WebScraper的核心邏輯和工作步驟

1椿疗、WebScraper爬蟲的核心邏輯

WebScraper抓取的核心邏輯在于選擇器的設置,比如最簡單的文本(Text)糠悼、超鏈接(Link)届榄,到表格(Table)、圖像(Image)倔喂,然后是復雜些的元素集(Element)铝条,以及這些基本類型的變體,比如彈出的超鏈接(Popup Link)席噩,點擊加載更多的元素集(Element Click班缰,這次我們就要用到這位)。

背后的邏輯其實也很簡單:因為HTML是結(jié)構(gòu)化的班挖,頁面是由很多tag組成的鲁捏,而且這些tag間是有層次的,設置選擇器就相當于告訴WebScraper要去抓哪個(哪類)tag萧芙,它是什么類型给梅,處在哪個層次。

2双揪、WebScraper工作步驟

WebScraper是Chrome瀏覽器里的一個插件动羽,安裝完(安裝如果遇到問題,可以去搜一下Chrome插件安裝的問題解答)之后渔期,爬取一個網(wǎng)頁大致需要以下幾個步驟:

1)創(chuàng)建站點地圖

要去哪里爬取數(shù)據(jù)

2)配置選擇器

要抓頁面上哪些內(nèi)容

3)開爬Scrape

4)導出結(jié)果

更多基礎介紹运吓,大家可以自行搜索渴邦。

四、使用WebScraper抓取數(shù)據(jù)

1拘哨、準備工作

登錄「西瓜助手」并打開“最新推文”頁面谋梭,打開Chrome控制臺(快捷鍵F12),點擊Web Scraper打開工作臺倦青。

2瓮床、創(chuàng)建站點地圖

名字(name)取一個方便記的。Start URL就是當前瀏覽器里顯示的地址产镐,直接拷貝過來即可隘庄。

create new sitemap

創(chuàng)建成功后,你會在“Create new sitemap”菜單前看到一個“Sitemap jiadiany”的菜單癣亚,后續(xù)所有操作都在這個菜單下進行丑掺。

3、配置選擇器

在配置選擇器之前述雾,需要先分析一下頁面街州,看你要抓取哪些數(shù)據(jù),有什么特點绰咽,然后可以逐步嘗試可行性菇肃。

最新推文截圖

最新推文是按照時間從近到遠排列的,最理想的我們是把整個區(qū)域1的數(shù)據(jù)做一個整體抓取下來取募,但是后來在選擇器選取的時候始終無法選取到區(qū)域1琐谤,因此只能退而求其次選擇了區(qū)域2,這里面就把“推文時間”給丟失了玩敏,后面在整理數(shù)據(jù)時我們可以利用一個值來對文章時間排序斗忌,但是沒有絕對推文時間。

小技巧:在選擇區(qū)域2的時候也遇到了問題旺聚,用鼠標始終無法選定這個區(qū)域织阳,所以我們把“Enable key”開關(guān)打開,然后先選擇一個小的元素砰粹,然后通過按鍵P(選取它的父節(jié)點)和C(選取它的子節(jié)點)來微調(diào)唧躲。

確定了要爬取區(qū)域2的數(shù)據(jù),那我們就知道需要創(chuàng)建一個Element的選擇器碱璃。同時弄痹,注意到這個頁面一次性只顯示部分數(shù)據(jù),需要點擊頁面底部「加載更多歷史文章...」按鈕來加載更多數(shù)據(jù)嵌器,因此我們需要用到Element選擇器的變體Element click肛真。

省略具體的操作過程,該“Element click”選擇器的具體配置如下:

另外爽航,因為需要抓取區(qū)域2里面的“傳播指數(shù)”(text)蚓让、“封面/文章標題”(link)乾忱、閱讀數(shù)(text)、贊數(shù)(text历极,也就是最新的在看數(shù))等數(shù)據(jù)窄瘟,因此需要在article下分別創(chuàng)建這些選擇器。

相應的選擇器圖譜和“封面/文章標題”(link)選擇器配置如下:

Selector graph


titlelink selector

小技巧:選擇器創(chuàng)建完之后执解,在Actions下面有兩個按鈕“Element preview”和“Data preview”寞肖,可以點擊模擬一下看選擇的元素及數(shù)據(jù)是否正確。

Selector Actions

4衰腌、開始爬取并導出數(shù)據(jù)

選擇器配置好之后,就可以開始爬取了(點擊Scrape菜單)觅赊,你可以看到插件就好像在模擬人一樣瀏覽這個頁面右蕊,抓取區(qū)域2里面的數(shù)據(jù),然后再點擊按鈕加載更多數(shù)據(jù)吮螺,直至觸達停止條件饶囚。

爬取完成后,就可以直接導出一個csv文件鸠补。至此萝风,整個爬取過程就結(jié)束了。

導出的站點地圖詳情(Json):

{"_id":"jiadiany","startUrl":["https://zs.xiguaji.com/Member#/MBiz/Detail/df0d2a/723965"],"selectors":[{"id":"article","type":"SelectorElementClick","selector":"div.public-details-content tbody","parentSelectors":["_root"],"multiple":true,"delay":0,"clickElementSelector":"div.loadingMorePanel a.btn","clickType":"clickMore","discardInitialElements":false,"clickElementUniquenessType":"uniqueCSSSelector"},{"id":"index","type":"SelectorText","selector":"tr:nth-of-type(1) span.risk-index","parentSelectors":["article"],"multiple":false,"regex":"","delay":0},{"id":"titlelink","type":"SelectorLink","selector":"tr:nth-of-type(1) div.mp-article-title a","parentSelectors":["article"],"multiple":false,"delay":0},{"id":"readcnt","type":"SelectorText","selector":"tr:nth-of-type(1) td:nth-of-type(5)","parentSelectors":["article"],"multiple":false,"regex":"","delay":0},{"id":"rank","type":"SelectorText","selector":"tr:nth-of-type(1) td:nth-of-type(6)","parentSelectors":["article"],"multiple":false,"regex":"","delay":0}]}


五紫岩、數(shù)據(jù)處理

打開CSV文件规惰,我們可以簡單對數(shù)據(jù)進行處理,以便更好地分析泉蝌。

1歇万、按照字段“web-scraper-order”排序(這個字段的意思是WebScraper采集的順序,也就是文章的時間順序)勋陪。

2贪磺、將閱讀數(shù)10001+(文本)替換成數(shù)字10001,以便我們進行統(tǒng)計诅愚。

3寒锚、標題和正文,我們可以進一步用NLPIR工具進行處理违孝。

有任何問題刹前,歡迎提出來一起討論研究。


轉(zhuǎn)載說明:本文為“三少爺?shù)囊姟痹瓌?chuàng)文章等浊,轉(zhuǎn)載請務必注明出處腮郊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市筹燕,隨后出現(xiàn)的幾起案子轧飞,更是在濱河造成了極大的恐慌衅鹿,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件过咬,死亡現(xiàn)場離奇詭異大渤,居然都是意外死亡,警方通過查閱死者的電腦和手機掸绞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門泵三,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衔掸,你說我怎么就攤上這事烫幕。” “怎么了敞映?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵较曼,是天一觀的道長。 經(jīng)常有香客問我振愿,道長捷犹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任冕末,我火速辦了婚禮萍歉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘档桃。我一直安慰自己枪孩,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布胳蛮。 她就那樣靜靜地躺著销凑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仅炊。 梳的紋絲不亂的頭發(fā)上斗幼,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音抚垄,去河邊找鬼蜕窿。 笑死,一個胖子當著我的面吹牛呆馁,可吹牛的內(nèi)容都是我干的桐经。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼浙滤,長吁一口氣:“原來是場噩夢啊……” “哼阴挣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纺腊,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤畔咧,失蹤者是張志新(化名)和其女友劉穎茎芭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誓沸,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡梅桩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拜隧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宿百。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡洪添,死狀恐怖干奢,靈堂內(nèi)的尸體忽然破棺而出貌矿,到底是詐尸還是另有隱情逛漫,我是刑警寧澤克握,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏舌胶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一似袁、第九天 我趴在偏房一處隱蔽的房頂上張望扬霜。 院中可真熱鬧啼县,春花似錦余蟹、人聲如沸威酒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽葵孤。三九已至,卻和暖如春橱赠,著一層夾襖步出監(jiān)牢的瞬間尤仍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工病线, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吓著,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓送挑,卻偏偏與公主長得像绑莺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惕耕,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 需求:獲取指定關(guān)鍵字(母嬰)下的公司信息(公司名稱纺裁、地址、法人、聯(lián)系方式)步驟:一欺缘、下載webscraper插件栋豫。...
    大嬸N72閱讀 3,962評論 0 1
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級谚殊,廣度和深度都會有所增加丧鸯。 題目類型: 理論知...
    怡寶丶閱讀 2,587評論 0 7
  • 涼山,那份牽掛文/一樹繁花 年輕的血肉唱響贊歌喚醒 一個名族沉睡的視聽這個時代 需要英雄引領(lǐng)嫩絮!
    一樹繁花_649d閱讀 95評論 0 0
  • 錢丛肢,對于任何人來說,都是不夠用的剿干。我們能夠平安健康的長大蜂怎,這一切的功勞都來源于我們的父母。如今置尔,我們也有能力來獨...
    蘋果就是蘋果閱讀 406評論 0 0
  • 閑置已久的筆終究還是落了杠步。此刻,這些零零散散的文字夾雜著些許酸酸甜甜的味道在紙上肆意蔓延榜轿。 雨后的天空分外晴朗幽歼,地...
    影過無痕雨亦落閱讀 368評論 0 2