摘要:但是半年來,養(yǎng)成積極幫助他人的習(xí)慣后,我發(fā)現(xiàn)自己不知不覺也跨過了聲望的門檻。總之,這兩個(gè)因素讓我決定爬一爬自己通過回答得到的聲望。有的操作可能被用戶取消,但仍保留在聲望記錄上。看來通過文章,尤其是翻譯文章,得到的聲望占的水分挺大的。
起因
我注冊SegmentFault賬號是在2016年12月,但是正式開始參與社區(qū)貢獻(xiàn)是2017年9月。那時(shí)候我剛剛畢業(yè),參加工作。到現(xiàn)在已經(jīng)半年了。
當(dāng)時(shí)只是想著幫助別人,并且通過別人提出的問題和回答來積累自己實(shí)際經(jīng)驗(yàn)。畢竟靠每天工作得到的項(xiàng)目經(jīng)驗(yàn)太少了,個(gè)人成長實(shí)在有限。
以前覺得1000聲望很難得,更不用說能上排行榜的5位數(shù)聲望了。但是半年來,養(yǎng)成積極幫助他人的習(xí)慣后,我發(fā)現(xiàn)自己不知不覺也跨過了1000聲望的門檻。從個(gè)人角度來講,我想做點(diǎn)事情來紀(jì)念一下。
上周,我翻譯了一篇關(guān)于react-vis的文章。而我想起以前一直對爬蟲很感興趣,當(dāng)然現(xiàn)在沒興趣了。總之,這兩個(gè)因素讓我決定爬一爬自己通過回答得到的聲望。沒有文章被贊,沒有文章被收藏等聲望,就是單純的,回答、回答被贊和回答被采納。
實(shí)現(xiàn)過程要實(shí)現(xiàn)這個(gè)項(xiàng)目,需要先分解需求,然后選取技術(shù)棧,最后發(fā)布。
分解需求爬取SF頁面
將得到的數(shù)據(jù)存入json,放在gitpage上
利用fetch api獲取該json
根據(jù)得到的數(shù)據(jù)使用react-vis生成柱形圖,x軸為時(shí)間,y軸為聲望數(shù),每一個(gè)x點(diǎn)分別有3個(gè)長方形,代表問答、被贊和被采納。
技術(shù)棧node-crawel + cheerio:解決需求1
react + react-vis:解決需求3、4
jest:測試代碼單元
json存儲(chǔ)格式{ answer:{ "2018-3-20":1 }, answerBeHonored:{ "2018-3-20":10 }, answerBeAdopted:{ "2018-3-20":15 } }關(guān)鍵思路
需要將SF聲望記錄里的x小時(shí)、x天前轉(zhuǎn)成格式為yyyy-MM-dd。這個(gè)只需要判斷不同情況,然后根據(jù)當(dāng)天減去每天的毫秒數(shù)或每小時(shí)的毫秒數(shù)得到的毫秒數(shù)生成一個(gè)Date對象。然后再轉(zhuǎn)換格式。
有的操作可能被用戶取消,但仍保留在聲望記錄上。這時(shí)要通過判斷是否存在[已取消]來跳過處理。
利用react-vis生成柱形圖時(shí),x坐標(biāo)軸的類型要設(shè)置為oridinary。
效果展示最終效果
最后算了一下大概553點(diǎn)聲望來自問答。看來通過文章,尤其是翻譯文章,得到的聲望占的水分挺大的。
我不了解Node.js,之前沒聽說過node-crawel,所以純粹是一時(shí)興起嘗試了一下,有一些坑,但最終還是解決了。滿打滿算一共是花了4.5小時(shí),主要是嘗試使用crawel以及測試各單元功能。
爬蟲的代碼不打算開源,一是因?yàn)楹芎唵危罩坛虒憶]什么問題。二是覺得爬蟲這個(gè)東西或多或少有點(diǎn)危害?姑且算是我不開源的理由之一吧。
大概就是這樣了,還是很感慨能夠跨入1000聲望呢,下一個(gè)目標(biāo)大概是5000聲望,繼續(xù)努力吧。
參考文章使用node-crawler和jsdom完成爬蟲
Node Crawler:強(qiáng)大的Node開源爬蟲
react-vis:一個(gè)數(shù)據(jù)可視化庫
react-vis文檔
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/52036.html
摘要:跟年一樣,年也給自己定下了一個(gè)任務(wù),就是在得到每天聽本書聽本以上,至少訂閱一個(gè)以上的大小專欄并完成學(xué)習(xí)如圖,這個(gè)小任務(wù),今年算是完成了。 跟2017年一樣,2018年也給自己定下了一個(gè)任務(wù),就是在得到《每天聽本書》聽 300 本以上,至少訂閱一個(gè)以上的大小專欄并完成學(xué)習(xí)! showImg(https://segmentfault.com/img/bVblSBq?w=750&h=1334...
摘要:正則模塊使語言擁有全部的正則表達(dá)式功能。函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對象。該對象擁有一系列方法用于正則表達(dá)式匹配和替換。表示或者匹配項(xiàng)未找到匹配項(xiàng)匹配項(xiàng)未找到匹配項(xiàng) 正則 re = regular experssionre 模塊使 Python 語言擁有全部的正則表達(dá)式功能。 compile 函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對象。該對...
閱讀 885·2021-10-27 14:19
閱讀 1102·2021-10-15 09:42
閱讀 1526·2021-09-14 18:02
閱讀 737·2019-08-30 13:09
閱讀 2981·2019-08-29 15:08
閱讀 2081·2019-08-28 18:05
閱讀 948·2019-08-26 10:25
閱讀 2777·2019-08-23 16:28