知乎凡尔赛沙雕语录,究竟有多沙雕?
為保證閱讀體驗,強烈建議點擊原文鏈接閱讀
原文鏈接:知乎凡爾賽沙雕語錄,究竟有多沙雕?
大家好,我是小一
前一陣子,凡爾賽文學突然爆火網絡,特別是在知乎上竟然出現了大量的凡爾賽語錄
隨便點進去一個問題一看,確實一張口就是老凡學家了,夠沙雕
甚至有的問題回答竟然有好幾百,關注和瀏覽量都還挺高。
突發奇想,要不?把這些回答爬下來,分析一下【凡學家們】究竟有多沙雕?
凡爾賽問題定位
首先,在知乎搜索【凡爾賽語錄】,發現有幾個相關問題
其中第二個和我們要的結果比較相似
點進去后可以發現這其實是個回答,關于這個提問共有 225 個回答。
可以看到當前網址是下面這個
https://www.zhihu.com/question/429548386/answer/1575062220
去掉 answer 以及后面的部分就是這個問題的網址,這個網址我們會在后面的爬蟲中用到。
特別是后面的一串數字是問題 id,作為知乎問題的唯一標識。
https://www.zhihu.com/question/429548386
爬取問題回答
研究一下上面的網址,我們發現需要爬取兩部分數據:
一部分是問題的詳情,包括創建時間、關注人數、瀏覽量、問題描述等。
一部分是問題的回答,包括每個答主的用戶名、粉絲數等信息,問題回答的具體內容、發布時間、評論數、點贊數等信息。
其中,問題詳情可以直接爬取上面的網址,通過 bs4 解析頁面內容拿到數據
而問題的回答則需要通過下面的鏈接,通過設置每頁的起始下標和頁面內容偏移量確定,有點類似于分頁內容的爬取。
def?init_url(question_id,?limit,?offset):????base_url_start?=?"https://www.zhihu.com/api/v4/questions/"
????base_url_end?=?"/answers?include=data%5B%2A%5D.is_normal%2Cadmin_closed_comment%2Creward_info%2Cis_collapsed%2Cannotation_action%2Cannotation_detail%2Ccollapse_reason%2Cis_sticky%2Ccollapsed_by%2Csuggest_edit%2Ccomment_count%2Ccan_comment%2Ccontent%2Ceditable_content%2Cvoteup_count%2Creshipment_settings%2Ccomment_permission%2Ccreated_time%2Cupdated_time%2Creview_info%2Crelevant_info%2Cquestion%2Cexcerpt%2Crelationship.is_authorized%2Cis_author%2Cvoting%2Cis_thanked%2Cis_nothelp%2Cis_labeled%2Cis_recognized%2Cpaid_info%2Cpaid_info_content%3Bdata%5B%2A%5D.mark_infos%5B%2A%5D.url%3Bdata%5B%2A%5D.author.follower_count%2Cbadge%5B%2A%5D.topics&limit={0}&offset={1}".format(limit,?offset)
????return?base_url_start?+?question_id?+?base_url_end
設置每頁回答數 limit=20,offset 則可以是0、20、40...
而 question_id 則是上面提到的網址后面的一串數字,這里是 429548386
邏輯想明白之后就是通過寫爬蟲獲取數據了,文末有完整的爬蟲代碼獲取方式,運行的時候你只需要修改問題的 id 即可。
由于篇幅問題,這里只貼主要的代碼:
if?__name__?==?'__main__':????question_id?=?'429548386'
????url?=?"https://www.zhihu.com/question/"?+?question_id
????"""獲取問題的詳細描述"""
????title,?question,?follower,?watched,?answer_count,?tag_list?=?get_question_base_info(url)
????print("問題url:"+?url)
????print("問題標題:"?+?title)
????print("問題描述:"?+?question)
????print("該問題被定義的標簽為:"?+?'、'.join(tag_list))
????print("該問題關注人數:{0},已經被?{1}?人瀏覽過".format(follower,?watched))
????print("截止?{},該問題有?{}?個回答".format(time.strftime("%Y-%m-%d?%H:%M:%S",?time.localtime()),?answer_count))
????"""獲取問題的回答數據"""
????#?構造url
????limit,?offset?=?20,?0
????page_cnt?=?int(answer_count/limit)?+?1
????answer_data?=?pd.DataFrame()
????for?page_index?in?range(page_cnt):
????????answer_url?=?init_url(question_id,?limit,?offset+page_index*limit)
????????#?獲取數據
????????data_per_page?=?get_answer_info(answer_url,?page_index)
????????answer_data?=?answer_data.append(data_per_page)
????????sleep(3)
????answer_data.to_csv('凡爾賽沙雕語錄_{0}.csv'.format(question_id),?encoding='utf-8',?index=False)
爬蟲運行截圖如下:
最終,該問題現有的 225 條回答都已經成功爬到
分析回答數據
每個答主都有自己的粉絲,粉絲多的答主應該回答質量比較高,才會受到大家的廣泛關注。那,像這種沙雕語錄他們也有涉及嗎?
先來看一下粉絲數和贊同數的關系
可以發現,粉絲數多的答主的問題回答贊同數不一定高,反倒是粉絲數少的答主回答更沙雕些,廣受大家認可。
那,贊同數多的回答評論數應該也不少,畢竟大家都會前排吃瓜,圍觀沙雕
果然,問題回答的贊同數和評論數基本呈線性分布
基于常識,越早的問題回答應該越容易受到關注,會吸引一大波吃瓜群眾前來圍觀,時間越往后可能熱度就過去了,也就少有人關注了。
看一下分布圖:
可以看到,這個話題的關注度持續時間比較久,甚至十天后還有近千贊的回答產生,相比微博的熱搜知乎熱搜似乎持續時間更久一些。
最后,一起欣賞一下新時代的凡爾賽沙雕語錄
一開口就是老凡爾賽人了!
說出來挺不好意思的,我是最近才知道雞蛋有殼的,以前都是吃管家剝好的,一直以為雞蛋都是白色的軟軟的
好煩,睡過了馬爾代夫的航班,只能專機去了
今天,我的姐妹說要開跑車來接我下班,我說不要,打工人怎么能用跑車下班?
家里已經幫我包了一輛公車了,年卡,隨我刷。
打工可能會少活十年,不打工我一天也活不了
早晨我把“早安打工人”發給了數位好友,無一人回復。后來我才意識到,打工的只有我一個,他們這些人上人還在睡覺。
對不起,是我認真了。
雇主讓我早點去安空調
我說:“就不能晚點安嗎?”
他說:“不能,打工人就是要早安!”
寫在后面的話
本節語錄+圖片均來源于網絡,侵權可以后臺聯系小一刪除。
本節相關的爬蟲代碼已經整理完畢,原文 后臺回復【凡爾賽】 獲取源碼。
文章說明
文章作者:xiaoyi 數據分析從業者,金融風控愛好者
文章首發:公眾號【小一的學習筆記】
原文鏈接:知乎凡爾賽沙雕語錄,究竟有多沙雕?
我是小一,堅持向暮光所走的人,終將成為耀眼的存在。
期待你的 三連,我們下節見。
總結
以上是生活随笔為你收集整理的知乎凡尔赛沙雕语录,究竟有多沙雕?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.0 ZIO测试
- 下一篇: AI时代下,如何打造一个具有情感化属性的