微信標(biāo)題不會(huì)取,爬取虎嗅5萬(wàn)篇文章告訴你
不少時(shí)候,一篇文章能否得到廣泛的傳播,除了文章本身實(shí)打?qū)嵉馁|(zhì)量以外,一個(gè)好的標(biāo)題也至關(guān)重要。本文爬取了虎嗅網(wǎng)建站至今共 5 萬(wàn)條新聞標(biāo)題內(nèi)容,助你找到起文章標(biāo)題的技巧與靈感。同時(shí),分享一些值得關(guān)注的文章和作者。
數(shù)據(jù)抓取、清洗、分析一條龍,感受科技互連網(wǎng)世界的千變?nèi)f化。
摘要: 不少時(shí)候,一篇文章能否得到廣泛的傳播,除了文章本身實(shí)打?qū)嵉馁|(zhì)量以外,一個(gè)好的標(biāo)題也至關(guān)重要。本文爬取了虎嗅網(wǎng)建站至今共 5 萬(wàn)條新聞標(biāo)題內(nèi)容,助你找到起文章標(biāo)題的技巧與靈感。同時(shí),分享一些值得關(guān)注的文章和作者。
1. 分析背景
1.1. 為什么選擇虎嗅
在眾多新媒體網(wǎng)站中,「虎嗅」網(wǎng)的文章內(nèi)容和質(zhì)量還算不錯(cuò)。在「新榜」科技類公眾號(hào)排名中,它位居榜單第 3 名,還是比較受歡迎的。所以選擇爬取該網(wǎng)站的文章信息,順便從中了解一下這幾年科技互聯(lián)網(wǎng)都出現(xiàn)了哪些熱點(diǎn)信息。
「關(guān)于虎嗅」
虎嗅網(wǎng)創(chuàng)辦于 2012 年 5 月,是一個(gè)聚合優(yōu)質(zhì)創(chuàng)新信息與人群的新媒體平臺(tái)。該平臺(tái)專注于貢獻(xiàn)原創(chuàng)、深度、犀利優(yōu)質(zhì)的商業(yè)資訊,圍繞創(chuàng)新創(chuàng)業(yè)的觀點(diǎn)進(jìn)行剖析與交流?;⑿峋W(wǎng)的核心,是關(guān)注互聯(lián)網(wǎng)及傳統(tǒng)產(chǎn)業(yè)的融合、明星公司的起落軌跡、產(chǎn)業(yè)潮汐的動(dòng)力與趨勢(shì)。
1.2. 分析內(nèi)容
分析虎嗅網(wǎng) 5 萬(wàn)篇文章的基本情況,包括收藏?cái)?shù)、評(píng)論數(shù)等
發(fā)掘最受歡迎和最不受歡迎的文章及作者
分析文章標(biāo)題形式(長(zhǎng)度、句式)與受歡迎程度之間的關(guān)系
展現(xiàn)近些年科技互聯(lián)網(wǎng)行業(yè)的熱門詞匯
1.3. 分析工具
Python
pyspider
MongoDB
Matplotlib
WordCloud
Jieba
2. 數(shù)據(jù)抓取
使用 pyspider 抓取了虎嗅網(wǎng)的主頁(yè)文章,文章抓取時(shí)期為 2012 年建站至 2018 年 11 月 1 日,共計(jì)約 5 萬(wàn)篇文章。抓取 了 7 個(gè)字段信息:文章標(biāo)題、作者、發(fā)文時(shí)間、評(píng)論數(shù)、收藏?cái)?shù)、摘要和文章鏈接。
2.1. 目標(biāo)網(wǎng)站分析
這是要爬取的 網(wǎng)頁(yè)界面,可以看到是通過(guò) AJAX 加載的。
右鍵打開開發(fā)者工具查看翻頁(yè)規(guī)律,可以看到 URL 請(qǐng)求是 POST 類型,下拉到底部查看 Form Data,表單需提交參數(shù)只有 3 項(xiàng)。經(jīng)嘗試, 只提交 page 參數(shù)就能成功獲取頁(yè)面的信息,其他兩項(xiàng)參數(shù)無(wú)關(guān)緊要,所以構(gòu)造分頁(yè)爬取非常簡(jiǎn)單。
1 | huxiu_hash_code: 39bcd9c3fe9bc69a6b682343ee3f024a |
接著,切換選項(xiàng)卡到 Preview 和 Response 查看網(wǎng)頁(yè)內(nèi)容,可以看到數(shù)據(jù)都位于 data 字段里。total_page 為 2004,表示一共有 2004 頁(yè)的文章內(nèi)容,每一頁(yè)有 25 篇文章,總共約 5 萬(wàn)篇,也就是我們要爬取的數(shù)量。
以上,我們就找到了所需內(nèi)容,接下來(lái)可以開始構(gòu)造爬蟲,整個(gè)爬取思路比較簡(jiǎn)單。之前我們也練習(xí)過(guò)這一類 Ajax 文章的爬取,可以參考:
2.2. pyspider 介紹
和之前文章不同的是,這里我們使用一種新的工具來(lái)進(jìn)行爬取,叫做:pyspider 框架。由國(guó)人 binux 大神開發(fā),GitHub Star 數(shù)超過(guò) 12 K,足以證明它的知名度。可以說(shuō),學(xué)習(xí)爬蟲不能不會(huì)使用這個(gè)框架。
網(wǎng)上關(guān)于這個(gè)框架的介紹和實(shí)操案例非常多,這里僅簡(jiǎn)單介紹一下。
我們之前的爬蟲都是在 Sublime 、PyCharm 這種 IDE 窗口中執(zhí)行的,整個(gè)爬取過(guò)程可以說(shuō)是處在黑箱中,內(nèi)部運(yùn)行的些細(xì)節(jié)并不太清楚。而 pyspider 一大亮點(diǎn)就在于提供了一個(gè)可視化的 WebUI 界面,能夠清楚地查看爬蟲的運(yùn)行情況。
pyspider 的架構(gòu)主要分為 Scheduler(調(diào)度器)、Fetcher(抓取器)、Processer(處理器)三個(gè)部分。Monitor(監(jiān)控器)對(duì)整個(gè)爬取過(guò)程進(jìn)行監(jiān)控,Result Worker(結(jié)果處理器)處理最后抓取的結(jié)果。
我們看看該框架的運(yùn)行流程大致是怎么樣的:
一個(gè) pyppider 爬蟲項(xiàng)目對(duì)應(yīng)一個(gè) Python 腳本,腳本里定義了一個(gè) Handler 主類。爬取時(shí)首先調(diào)用 on_start() 方法生成最初的抓取任務(wù),然后發(fā)送給 Scheduler。
Scheduler 將抓取任務(wù)分發(fā)給 Fetcher 進(jìn)行抓取,F(xiàn)etcher 執(zhí)行然后得到 Response、隨后將 Response 發(fā)送給 Processer。
Processer 處理響應(yīng)并提取出新的 URL 然后生成新的抓取任務(wù),然后通過(guò)消息隊(duì)列的方式通知 Scheduler 當(dāng)前抓取任務(wù)執(zhí)行情況,并將新生成的抓取任務(wù)發(fā)送給 Scheduler。如果生成了新的提取結(jié)果,則將其發(fā)送到結(jié)果隊(duì)列等待 Result Worker 處理。
Scheduler 接收到新的抓取任務(wù),然后查詢數(shù)據(jù)庫(kù),判斷其如果是新的抓取任務(wù)或者是需要重試的任務(wù)就繼續(xù)進(jìn)行調(diào)度,然后將其發(fā)送回 Fetcher 進(jìn)行抓取。
不斷重復(fù)以上工作、直到所有的任務(wù)都執(zhí)行完畢,抓取結(jié)束。
抓取結(jié)束后、程序會(huì)回調(diào) on_finished() 方法,這里可以定義后處理過(guò)程。
該框架比較容易上手,網(wǎng)頁(yè)右邊是代碼區(qū),先定義類(Class)然后在里面添加爬蟲的各種方法(也可以稱為函數(shù)),運(yùn)行的過(guò)程會(huì)在左上方顯示,左下方則是輸出結(jié)果的區(qū)域。
這里,分享幾個(gè)不錯(cuò)的教程以供參考:
GitHub 項(xiàng)目地址:https://github.com/binux/pyspider
官方主頁(yè):http://docs.pyspider.org/en/latest/
pyspider 中文網(wǎng):http://www.pyspider.cn/page/1.html
pyspider 爬蟲原理剖析:http://python.jobbole.com/81109/
pyspider 爬淘寶圖案例實(shí)操:https://cuiqingcai.com/2652.html
安裝好該框架后,下面我們可以就開始爬取了。
2.3. 抓取數(shù)據(jù)
CMD 命令窗口執(zhí)行:pyspider all 命令,然后瀏覽器輸入:http://localhost:5000/ 就可以啟動(dòng) pyspider 。
點(diǎn)擊 Create 新建一個(gè)項(xiàng)目,Project Name 命名為:huxiu,因?yàn)橐廊〉?URL 是 POST 類型,所以這里可以先不填寫,之后可以在代碼中添加,再次點(diǎn)擊 Creat 便完成了該項(xiàng)目的新建。
新項(xiàng)目建立好后會(huì)自動(dòng)生成一部分模板代碼,我們只需在此基礎(chǔ)上進(jìn)行修改和完善,然后就可以運(yùn)行爬蟲項(xiàng)目了。現(xiàn)在,簡(jiǎn)單梳理下代碼編寫步驟。
1 | from pyspider.libs.base_handler import * |
這里,首先定義了一個(gè) Handler 主類,整個(gè)爬蟲項(xiàng)目都主要在該類下完成。 接著,可以將爬蟲基本的一些基本配置,比如 Headers、代理等設(shè)置寫在下面的 crawl_config 屬性中。(如果你還沒(méi)有習(xí)慣從函數(shù)(def)轉(zhuǎn)換到類(Class)的代碼寫法,那么需要先了解一下類的相關(guān)知識(shí),之后我也會(huì)單獨(dú)用一篇文章介紹一下。)
下面的 on_start() 方法是程序的入口,也就是說(shuō)程序啟動(dòng)后會(huì)首先從這里開始運(yùn)行。首先,我們將要爬取的 URL傳入 crawl() 方法,同時(shí)將 URL 修改成虎嗅網(wǎng)的:https://www.huxiu.com/v2_action/article_list。由于 URL 是 POST 請(qǐng)求,所以我們還需要增加兩個(gè)參數(shù):method 和 data。method 表示 HTTP 請(qǐng)求方式,默認(rèn)是 GET,這里我們需要設(shè)置為 POST;data 是 POST 請(qǐng)求表單參數(shù),只需要添加一個(gè) page 參數(shù)即可。
接著,通過(guò) callback 參數(shù)定義一個(gè) index_page() 方法,用來(lái)解析 crawl() 方法爬取 URL 成功后返回的 Response 響應(yīng)。在后面的 index_page() 方法中,可以使用 PyQuery 提取響應(yīng)中的所需內(nèi)容。具體提取方法如下:
1 | import json |
這里,網(wǎng)頁(yè)返回的 Response 是 json 格式,待提取的信息存放在其中的 data 鍵值中,由一段 HTML 代碼構(gòu)成。我們可以使用 response.json[‘data’] 獲取該 HTML 信息,接著使用 PyQuery 搭配 CSS 語(yǔ)法提取出文章標(biāo)題、鏈接、作者等所需信息。這里使用了列表生成式,能夠精簡(jiǎn)代碼并且轉(zhuǎn)換為方便的 list 格式,便于后續(xù)存儲(chǔ)到 MongoDB 中。我們輸出并查看一下第 2 頁(yè)的提取結(jié)果:
1 | # 由25個(gè) dict 構(gòu)成的 list |
可以看到,成功得到所需數(shù)據(jù),然后就可以保存了,可以選擇輸出為 CSV、MySQL、MongoDB 等方式,這里我們選擇保存到 MongoDB 中。
1 | import pandas as pd |
上面,定義了一個(gè) on_result() 方法,該方法專門用來(lái)獲取 return 的結(jié)果數(shù)據(jù)。這里用來(lái)接收上面 index_page() 返回的 data 數(shù)據(jù),在該方法里再定義一個(gè)存儲(chǔ)到 MongoDB 的方法就可以保存到 MongoDB 中。關(guān)于數(shù)據(jù)如何存儲(chǔ)到 MongoDB 中,我們?cè)谥暗?nbsp;一篇文章 中有過(guò)介紹,如果忘記了可以回顧一下。
下面,我們來(lái)測(cè)試一下整個(gè)爬取和存儲(chǔ)過(guò)程。點(diǎn)擊左上角的 run 就可以順利運(yùn)行單個(gè)網(wǎng)頁(yè)的抓取、解析和存儲(chǔ),結(jié)果如下:
上面完成了單頁(yè)面的爬取,接下來(lái),我們需要爬取全部 2000 余頁(yè)內(nèi)容。
需要修改兩個(gè)地方,首先在 on_start() 方法中將 for 循環(huán)頁(yè)數(shù) 3 改為 2002。改好以后,如果我們直接點(diǎn)擊 run ,會(huì)發(fā)現(xiàn)還是只能爬取第 2 頁(yè)的結(jié)果。這是因?yàn)?,pyspider 以 URL的 MD5 值作為 唯一 ID 編號(hào),ID 編號(hào)相同的話就視為同一個(gè)任務(wù),便不會(huì)再重復(fù)爬取。由于 GET 請(qǐng)求的 分頁(yè)URL 通常是有差異的,所以 ID 編號(hào)會(huì)不同,也就自然能夠爬取多頁(yè)。但這里 POST 請(qǐng)求的分頁(yè) URL 是相同的,所以爬完第 2 頁(yè),后面的頁(yè)數(shù)便不會(huì)再爬取。
那有沒(méi)有解決辦法呢? 當(dāng)然是有的,我們需要重新寫下 ID 編號(hào)的生成方式,方法很簡(jiǎn)單,在 on_start() 方法前面添加下面 2 行代碼即可:
1 | def get_taskid(self,task): |
這樣,我們?cè)冱c(diǎn)擊 run 就能夠順利爬取 2000 頁(yè)的結(jié)果了,我這里一共抓取了 49,996 條結(jié)果,耗時(shí) 2 小時(shí)左右完成。
以上,就完成了數(shù)據(jù)的獲取。有了數(shù)據(jù)我們就可以著手分析,不過(guò)這之前還需簡(jiǎn)單地進(jìn)行一下數(shù)據(jù)的清洗、處理。
3. 數(shù)據(jù)清洗處理
首先,我們需要從 MongoDB 中讀取數(shù)據(jù),并轉(zhuǎn)換為 DataFrame。
1 | client = pymongo.MongoClient(host='localhost', port=27017) |
下面我們看一下數(shù)據(jù)的總體情況,可以看到數(shù)據(jù)的維度是 49996 行 × 8 列。發(fā)現(xiàn)多了一列無(wú)用的 _id 需刪除,同時(shí) name 列有一些特殊符號(hào),比如? 需刪除。另外,數(shù)據(jù)格式全部為 Object 字符串格式,需要將 comment 和 favorites 兩列更改為數(shù)值格式、 write_time 列更改為日期格式。
1 | print(data.shape) # 查看行數(shù)和列數(shù) |
代碼實(shí)現(xiàn)如下:
1 | # 刪除無(wú)用_id列 |
下面,我們看一下數(shù)據(jù)是否有重復(fù),如果有,那么需要?jiǎng)h除。
1 | # 判斷整行是否有重復(fù)值 |
然后,我們?cè)僭黾觾闪袛?shù)據(jù),一列是文章標(biāo)題長(zhǎng)度列,一列是年份列,便于后面進(jìn)行分析。
1 | data['title_length'] = data['title'].apply(len) |
以上,就完成了基本的數(shù)據(jù)清洗處理過(guò)程,針對(duì)這 9 列數(shù)據(jù)可以開始進(jìn)行分析了。
4. 描述性數(shù)據(jù)分析
通常,數(shù)據(jù)分析主要分為四類: 「描述型分析」、「診斷型分析」「預(yù)測(cè)型分析」「規(guī)范型分析」。「描述型分析」是用來(lái)概括、表述事物整體狀況以及事物間關(guān)聯(lián)、類屬關(guān)系的統(tǒng)計(jì)方法,是這四類中最為常見(jiàn)的數(shù)據(jù)分析類型。通過(guò)統(tǒng)計(jì)處理可以簡(jiǎn)潔地用幾個(gè)統(tǒng)計(jì)值來(lái)表示一組數(shù)據(jù)地集中性(如平均值、中位數(shù)和眾數(shù)等)和離散型(反映數(shù)據(jù)的波動(dòng)性大小,如方差、標(biāo)準(zhǔn)差等)。
這里,我們主要進(jìn)行描述性分析,數(shù)據(jù)主要為數(shù)值型數(shù)據(jù)(包括離散型變量和連續(xù)型變量)和文本數(shù)據(jù)。
4.1. 總體情況
先來(lái)看一下總體情況。
1 | print(data.describe()) |
這里,使用了 data.describe() 方法對(duì)數(shù)值型變量進(jìn)行統(tǒng)計(jì)分析。從上面可以簡(jiǎn)要得出以下幾個(gè)結(jié)論:
讀者的評(píng)論和收藏?zé)崆槎疾凰闾?,大部分文章?5 %)的評(píng)論數(shù)量為十幾條,收藏?cái)?shù)量不過(guò)幾十個(gè)。這和一些微信大 V 公眾號(hào)動(dòng)輒百萬(wàn)級(jí)閱讀、數(shù)萬(wàn)級(jí)評(píng)論和收藏量相比,虎嗅網(wǎng)的確相對(duì)小眾一些。不過(guò)也正是因?yàn)樾”?,也才深得部分人的喜歡。
評(píng)論數(shù)最多的文章有 2376 條,收藏?cái)?shù)最多的文章有 1113 個(gè)收藏量,說(shuō)明還是有一些潛在的比較火或者質(zhì)量比較好的文章。
最長(zhǎng)的文章標(biāo)題長(zhǎng)達(dá) 224 個(gè)字,大部分文章標(biāo)題長(zhǎng)度在 20 來(lái)個(gè)字左右,所以標(biāo)題最好不要太長(zhǎng)或過(guò)短。
對(duì)于非數(shù)值型變量(name、write_time),使用 describe() 方法會(huì)產(chǎn)生另外一種匯總統(tǒng)計(jì)。
1 | print(data['name'].describe()) |
unique 表示唯一值數(shù)量,top 表示出現(xiàn)次數(shù)最多的變量,freq 表示該變量出現(xiàn)的次數(shù),所以可以簡(jiǎn)單得出以下幾個(gè)結(jié)論:
在文章來(lái)源方面,3162 個(gè)作者貢獻(xiàn)了這 5 萬(wàn)篇文章,其中自家官網(wǎng)「虎嗅」寫的數(shù)量最多,超過(guò)了 1 萬(wàn)篇,這也很自然。
在文章發(fā)表時(shí)間方面,最早的一篇文章來(lái)自于 2012年 4 月 3 日。 6 年多時(shí)間,發(fā)文數(shù)最多的 1 天 是 2014 年 7 月 10 日,一共發(fā)了 274 篇文章。
4.2. 不同時(shí)期文章發(fā)布的數(shù)量變化
可以看到 ,以季度為時(shí)間尺度的6 年間,前幾年發(fā)文數(shù)量比較穩(wěn)定,大概在1750 篇左右,個(gè)別季度數(shù)量激增到 2000 篇以上。2016 年之后文章開始增加到 2000 篇以上,可能跟網(wǎng)站知名度提升有關(guān)。首尾兩個(gè)季度日期不全,所以數(shù)量比較少。
具體代碼實(shí)現(xiàn)如下:
1 | def analysis1(data): |
4.3. 文章收藏量 TOP 10
接下來(lái),到了我們比較關(guān)心的問(wèn)題:幾萬(wàn)篇文章里,到底哪些文章寫得比較好或者比較火?
序號(hào) | title | favorites | comment |
---|---|---|---|
1 | 讀完這10本書,你就能站在智商鄙視鏈的頂端了 | 1113 | 13 |
2 | 京東打臉央視:你所謂的翻新iPhone均為正品,我們保留向警方報(bào)案的權(quán)利 | 867 | 10 |
3 | 離職創(chuàng)業(yè)?先讀完這22本書再說(shuō) | 860 | 9 |
4 | 貨幣如水,覆水難收 | 784 | 39 |
5 | 自殺經(jīng)濟(jì)學(xué) | 778 | 119 |
6 | 2016年已經(jīng)起飛的5只黑天鵝,都在羅振宇這份跨年演講全文里 | 774 | 39 |
7 | 真正強(qiáng)大的商業(yè)分析能力是怎樣煉成的? | 746 | 18 |
8 | 騰訊沒(méi)有夢(mèng)想 | 705 | 32 |
9 | 段永平連答53問(wèn),核心是“不為清單” | 703 | 27 |
10 | 王健林的滑鐵盧 | 701 | 92 |
此處選取了「favorites」(收藏?cái)?shù)量)作為衡量標(biāo)準(zhǔn)。畢竟,一般好的文章,我們都會(huì)有收藏的習(xí)慣。
第一名「讀完這10本書,你就能站在智商鄙視鏈的頂端了 」以 1113 次收藏位居第一,并且遙遙領(lǐng)先于后者,看來(lái)大家都懷有「想早日攀上人生巔峰,一覽眾人小」的想法啊。打開這篇文章的鏈接,文中提到了這幾本書:《思考,快與慢》、《思考的技術(shù)》、《麥肯錫入職第一課:讓職場(chǎng)新人一生受用的邏輯思考力》等。一本都沒(méi)看過(guò),看來(lái)這輩子是很難登上人生巔峰了。
發(fā)現(xiàn)兩個(gè)有意思的地方。
第一,文章標(biāo)題都比較短小精煉。
第二,文章收藏量雖然比較高,但評(píng)論數(shù)都不多,猜測(cè)這是因?yàn)?nbsp;大家都喜歡做伸手黨?
4.4. 歷年文章收藏量 TOP3
在了解文章的總體排名之后,我們來(lái)看看歷年的文章排名是怎樣的。這里,每年選取了收藏量最多的 3 篇文章。
year | title | favorites |
---|---|---|
2012 | 產(chǎn)品的思路——來(lái)自騰訊張小龍的分享(全版) | 187 |
Fab CEO:創(chuàng)辦四家公司教給我的90件事 | 163 | |
張小龍:微信背后的產(chǎn)品觀 | 162 | |
2013 | 創(chuàng)業(yè)者手記:我所犯的那些入門錯(cuò)誤 | 473 |
馬化騰三小時(shí)講話實(shí)錄:千億美金這個(gè)線,其實(shí)很恐怖 | 391 | |
雕爺親身談:白手起家的我如何在30歲之前賺到1000萬(wàn)。讀《MBA教不了的創(chuàng)富課》 | 354 | |
2014 | 85后,突變的一代 | 528 |
雕爺自述:什么是我做餐飲時(shí)琢磨、而大部分“外人”無(wú)法涉獵的思考? | 521 | |
據(jù)說(shuō)這40張PPT是螞蟻金服的內(nèi)部培訓(xùn)資料…… | 485 | |
2015 | 讀完這10本書,你就能站在智商鄙視鏈的頂端了 | 1113 |
京東打臉央視:你所謂的翻新iPhone均為正品,我們保留向警方報(bào)案的權(quán)利 | 867 | |
離職創(chuàng)業(yè)?先讀完這22本書再說(shuō) | 860 | |
2016 | 蝗蟲般的刷客大軍:手握千萬(wàn)手機(jī)號(hào),分秒間薅干一家平臺(tái) | 554 |
準(zhǔn)CEO必讀的這20本書,你讀過(guò)幾本? | 548 | |
運(yùn)營(yíng)簡(jiǎn)史:一文讀懂互聯(lián)網(wǎng)運(yùn)營(yíng)的20年發(fā)展與演變 | 503 | |
2017 | 2016年已經(jīng)起飛的5只黑天鵝,都在羅振宇這份跨年演講全文里 | 774 |
真正強(qiáng)大的商業(yè)分析能力是怎樣煉成的? | 746 | |
王健林的滑鐵盧 | 701 | |
2018 | 貨幣如水,覆水難收 | 784 |
自殺經(jīng)濟(jì)學(xué) | 778 | |
騰訊沒(méi)有夢(mèng)想 | 705 |
可以看到,文章收藏量基本是逐年遞增的,但 2015 年的 3 篇文章的收藏量卻是最高的,包攬了總排名的前 3 名,不知道這一年的文章有什么特別之處。
以上只羅列了一小部分文章的標(biāo)題,可以看到標(biāo)題起地都蠻有水準(zhǔn)的。關(guān)于標(biāo)題的重要性,有這樣通俗的說(shuō)法:「一篇好文章,標(biāo)題占一半
」,一個(gè)好的標(biāo)題可以大大增強(qiáng)文章的傳播力和吸引力。文章標(biāo)題雖只有短短數(shù)十字,但要想起好,里面也是很有很多技巧的。
好在,這里提供了 5 萬(wàn)個(gè)標(biāo)題可以參考。如需,可以在公眾號(hào)后臺(tái)回復(fù)「虎嗅」得到這份 CSV 文件。
代碼實(shí)現(xiàn)如下:
1 | def analysis2(data): |
4.4.1. 最高產(chǎn)作者 TOP20
上面,我們從收藏量指標(biāo)進(jìn)行了分析,下面,我們關(guān)注一下發(fā)布文章的作者(個(gè)人/媒體)。前面提到發(fā)文最多的是虎嗅官方,有一萬(wàn)多篇文章,這里我們篩除官媒,看看還有哪些比較高產(chǎn)的作者。
可以看到,前 20 名作者的發(fā)文量差距都不太大。發(fā)文比較多的有「娛樂(lè)資本論」、「Eastland」、「發(fā)條橙子」這類媒體號(hào);也有虎嗅官網(wǎng)團(tuán)隊(duì)的作者:發(fā)條橙子、周超臣、張博文等;還有部分獨(dú)立作者:假裝FBI、孫永杰等??梢試L試關(guān)注一下這些高產(chǎn)作者。
代碼實(shí)現(xiàn)如下:
1 | def analysis3(data): |
4.4.2. 平均文章收藏量最多作者 TOP 10
我們關(guān)注一個(gè)作者除了是因?yàn)槲恼赂弋a(chǎn)以外,可能更看重的是其文章水準(zhǔn)。這里我們選擇「文章平均收藏量」(總收藏量/文章數(shù))這個(gè)指標(biāo),來(lái)看看文章水準(zhǔn)比較高的作者是哪些人。
這里,為了避免出現(xiàn)「某作者只寫了一篇高收藏率的文章」這種不能代表其真實(shí)水準(zhǔn)的情況,我們將篩選范圍定在至少發(fā)布過(guò) 5 篇文章的作者們。
name | total_favorites | ariticls_num | avg_favorites |
---|---|---|---|
重讀 | 1947 | 6 | 324 |
樓臺(tái) | 2302 | 8 | 287 |
彭縈 | 2487 | 9 | 276 |
曹山石 | 1187 | 5 | 237 |
飯統(tǒng)戴老板 | 7870 | 36 | 218 |
筆記俠 | 1586 | 8 | 198 |
辯手李慕陽(yáng) | 11989 | 62 | 193 |
李錄 | 2370 | 13 | 182 |
高曉松 | 889 | 5 | 177 |
寧南山 | 2827 | 16 | 176 |
可以看到,前 10 名作者包括:遙遙領(lǐng)先的 重讀、兩位高產(chǎn)又有質(zhì)量的 辯手李慕陽(yáng) 和 飯統(tǒng)戴老板 ,還有大眾比較熟悉的 高曉松、寧南山 等。
如果你將這份名單和上面那份高產(chǎn)作者名單進(jìn)行對(duì)比,會(huì)發(fā)現(xiàn)他們沒(méi)有出現(xiàn)在這個(gè)名單中。相比于數(shù)量,質(zhì)量可能更重要吧。
下面,我們就來(lái)看看排名第一的 重讀 都寫了哪些高收藏量文章。
order | title | favorites | write_time |
---|---|---|---|
1 | 我采訪出200多萬(wàn)字素材,還原了阿里系崛起前傳 | 231 | 2018/10/31 |
2 | 阿里史上最強(qiáng)人事地震回顧:中供鐵軍何以被生生解體 | 494 | 2018/4/9 |
3 | 馬云“斬”衛(wèi)哲:復(fù)原阿里史上最震撼的人事地震 | 578 | 2018/3/15 |
4 | 重讀一場(chǎng)馬云發(fā)起、針對(duì)衛(wèi)哲的批斗會(huì) | 269 | 2017/8/31 |
5 | 阿里“中供系”前世今生:馬云麾下最神秘的子弟兵 | 203 | 2017/5/10 |
6 | 揭秘馬云麾下最神秘的子弟兵:阿里“中供系”的前世今生 | 172 | 2017/4/26 |
居然寫的都是清一色關(guān)于馬老板家的文章。
了解了前十名作者之后,我們順便也看看那些處于最后十名的都是哪些作者。
name | total_favorites | ariticls_num | avg_favorites |
---|---|---|---|
于斌 | 25 | 11 | 2 |
朝克圖 | 33 | 23 | 1 |
東風(fēng)日產(chǎn) | 24 | 13 | 1 |
董曉常 | 14 | 8 | 1 |
蔡鈺 | 31 | 16 | 1 |
馬繼華 | 12 | 11 | 1 |
angeljie | 7 | 5 | 1 |
薛開元 | 6 | 6 | 1 |
pookylee | 15 | 24 | 0 |
Yang Yemeng | 0 | 7 | 0 |
一對(duì)比,就能看到他們的文章收藏量就比較寒磣了。尤其好奇最后一位作者 Yang Yemeng ,他寫了 7 篇文章,竟然一個(gè)收藏都沒(méi)有。
來(lái)看看他究竟寫了些什么文章。
原來(lái)寫的全都是英文文章,看來(lái)大家并不太鐘意閱讀英文類的文章啊。
具體實(shí)現(xiàn)代碼:
1 | def analysis4(data): |
4.5. 文章評(píng)論數(shù)最多 TOP10
說(shuō)完了收藏量。下面,我們?cè)賮?lái)看看評(píng)論數(shù)量最多的文章是哪些。
order | title | comment | favorites |
---|---|---|---|
1 | 喜瓜2.0—明星社交應(yīng)用的中國(guó)式引進(jìn)與創(chuàng)新 | 2376 | 3 |
2 | 百度,請(qǐng)給“兒子們”好好起個(gè)名字 | 1297 | 9 |
3 | 三星S5為什么對(duì)鳳凰新聞客戶端下注? | 1157 | 1 |
4 | 三星Tab S:馬是什么樣的馬?鞍又是什么樣的鞍? | 951 | 0 |
5 | 三星,正在重塑你的營(yíng)銷觀 | 914 | 1 |
6 | 馬化騰,你就把微信賣給運(yùn)營(yíng)商得了! | 743 | 20 |
7 | 【文字直播】羅永浩 VS 王自如 網(wǎng)絡(luò)公開辯論 | 711 | 33 |
8 | 看三星Hub如何推動(dòng)數(shù)字內(nèi)容消費(fèi)變革 | 684 | 1 |
9 | 三星要重新定義軟件與內(nèi)容商店新模式,SO? | 670 | 0 |
10 | 三星Hub——數(shù)字內(nèi)容交互新模式 | 611 | 0 |
基本上都是和 三星 有關(guān)的文章,這些文章大多來(lái)自 2014 年,那幾年 三星 好像是挺火的,不過(guò)這兩年國(guó)內(nèi)基本上都見(jiàn)不到三星的影子了,世界變化真快。
發(fā)現(xiàn)了兩個(gè)有意思的現(xiàn)象。
第一,上面關(guān)于 三星 和前面 阿里 的這些批量文章,它們「霸占」了評(píng)論和收藏榜,結(jié)合知乎上曾經(jīng)的一篇關(guān)于介紹虎嗅這個(gè)網(wǎng)站的文章:虎嗅網(wǎng)其實(shí)是這樣的 ,貌似能發(fā)現(xiàn)些微妙的事情。
第二,這些文章評(píng)論數(shù)和收藏?cái)?shù)兩個(gè)指標(biāo)幾乎呈極端趨勢(shì),評(píng)論量多的文章收藏量卻很少,評(píng)論量少的文章收藏量卻很多。
我們進(jìn)一步觀察下這兩個(gè)參數(shù)的關(guān)系。
可以看到,大多數(shù)點(diǎn)都位于左下角,意味著這些文章收藏量和評(píng)論數(shù)都比較低。但也存在少部分位于上方和右側(cè)的異常值,表明這些文章呈現(xiàn) 「多評(píng)論、少收藏」或者「少評(píng)論、多收藏」的特點(diǎn)。
4.6. 文章標(biāo)題長(zhǎng)度
下面,我們?cè)賮?lái)看看文章標(biāo)題的長(zhǎng)度和收藏量之間有沒(méi)有什么關(guān)系。
大致可以看出兩點(diǎn)現(xiàn)象:
第一,收藏量高的文章,他們的標(biāo)題都比較短(右側(cè)的部分散點(diǎn))。
第二,標(biāo)題很長(zhǎng)的文章,它們的收藏量都非常低(左邊形成了一條垂直線)。
看來(lái),文章起標(biāo)題時(shí)最好不要起太長(zhǎng)的。
實(shí)現(xiàn)代碼如下:
1 | def analysis5(data): |
文章標(biāo)題形式
下面,我們看看作者在起文章標(biāo)題的時(shí)候,在標(biāo)點(diǎn)符號(hào)方面有沒(méi)有什么偏好。
可以看到,五萬(wàn)篇文章中,大多數(shù)文章的標(biāo)題是陳述性標(biāo)題。三分之一(34.8%) 的文章標(biāo)題使用了問(wèn)號(hào)「?」,而僅有 5% 的文章用了嘆號(hào)「!」。通常,問(wèn)號(hào)會(huì)讓人們產(chǎn)生好奇,從而想去點(diǎn)開文章;而嘆號(hào)則會(huì)帶來(lái)一種緊張或者壓迫感,使人不太想去點(diǎn)開。所以,可以嘗試多用問(wèn)號(hào)而少用嘆號(hào)。
4.7. 文本分析
最后,我們從這 5 萬(wàn)篇文章中的標(biāo)題和摘要中,來(lái)看看虎嗅網(wǎng)的文章主要關(guān)注的都是哪些主題領(lǐng)域。
這里首先運(yùn)用了 jieba 分詞包對(duì)標(biāo)題進(jìn)行了分詞,然后用 WordCloud 做成了詞云圖,因虎嗅網(wǎng)含有「虎」字,故選取了一張老虎頭像。(關(guān)于 jieba 和 WordCloud 兩個(gè)包,之后再詳細(xì)介紹)
可以看到文章的主題內(nèi)容側(cè)重于:互聯(lián)網(wǎng)、知名公司、電商、投資這些領(lǐng)域。這和網(wǎng)站本身對(duì)外宣傳的核心內(nèi)容,即「關(guān)注互聯(lián)網(wǎng)與移動(dòng)互聯(lián)網(wǎng)一系列明星公司的起落軌跡、產(chǎn)業(yè)潮汐的動(dòng)力與趨勢(shì),以及互聯(lián)網(wǎng)與移動(dòng)互聯(lián)網(wǎng)如何改造傳統(tǒng)產(chǎn)業(yè)」大致相符合。
實(shí)現(xiàn)代碼如下:
1 | def analysis6(data): |
上面的關(guān)鍵詞是這幾年總體的概況,而科技互聯(lián)網(wǎng)行業(yè)每年的發(fā)展都是不同的,所以,我們?cè)賮?lái)看看歷年的一些關(guān)鍵詞,透過(guò)這些關(guān)鍵詞看看這幾年互聯(lián)網(wǎng)行業(yè)、科技熱點(diǎn)、知名公司都有些什么不同變化。
可以看到每年的關(guān)鍵詞都有一些相同之處,但也不同的地方:
中國(guó)互聯(lián)網(wǎng)、公司、蘋果、騰訊、阿里等這些熱門關(guān)鍵詞一直都是熱門,這幾家公司真是穩(wěn)地一批啊。
每年會(huì)有新熱點(diǎn)涌現(xiàn):比如 2013 年的微信(剛開始火)、2016 年的直播(各大直播平臺(tái)如雨后春筍般出現(xiàn))、2017年的 iPhone(上市十周年)、2018年的小米(上市)。
不斷有新的熱門技術(shù)出現(xiàn):2013 - 2015 年的 O2O、2016 年的 VR、2017 年的 AI 、2018 年的「區(qū)塊鏈」。這些科技前沿技術(shù)也是這幾年大家口耳相傳的熱門詞匯。
通過(guò)這一幅圖,就看出了這幾年科技互聯(lián)網(wǎng)行業(yè)、明星公司、熱點(diǎn)信息的風(fēng)云變化。
5. 小結(jié)
本文簡(jiǎn)要分析了虎嗅網(wǎng) 5 萬(wàn)篇文章信息,大致了解了近些年科技互聯(lián)網(wǎng)的千變?nèi)f化。
發(fā)掘了那些優(yōu)秀的文章和作者,能夠節(jié)省寶貴的時(shí)間成本。
一篇文章要想傳播廣泛,文章本身的質(zhì)量和標(biāo)題各占一半,文中的5 萬(wàn)個(gè)標(biāo)題相信能夠帶來(lái)一些靈感。
本文尚未做深入的文本挖掘,而文本挖掘可能比數(shù)據(jù)挖掘涵蓋的信息量更大,更有價(jià)值。進(jìn)行這些分析需要機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的知識(shí),待后期學(xué)習(xí)后再來(lái)補(bǔ)充。

想要了解更多關(guān)于用戶運(yùn)營(yíng)的干貨知識(shí),請(qǐng)繼續(xù)關(guān)注135編輯器。
立即登錄













