Python實現統(tǒng)計文章閱讀量的方法詳解
前言
寫這次博客其實事出有因,前幾天呢,一個非常優(yōu)秀的學姐在QQ空間里曬了自己的CSDN博客的總閱讀量,達到了7萬+,很厲害了,而且確實她的博文都是精髓,我就也想來看看我的博客總閱讀量了,看看什么時候能達到人家的高度,但是博客園偏偏就沒有這個功能(CSDN是可以直接在首頁看的)。于是乎,想盡一切辦法,要來統(tǒng)計閱讀量了,看看別人寫的使用其他的統(tǒng)計工具,把代碼放在博客園的公告欄,我也就放了個站長聯(lián)盟的統(tǒng)計代碼(具體操作可以百度,免費申請賬號的),雖然,它統(tǒng)計的數據更多,但是呢,它只能統(tǒng)計我從使用這個工具之后的訪問量,也就是,到現在為止,我的所有博客到底擁有多少的閱讀量,還是沒能統(tǒng)計出來,那不還是沒解決問題嘛,這就很尷尬了。。。
坐在電腦前,發(fā)了一會呆,突然,想起來,哎,這下學的Python爬蟲或許可以派上用場了,于是乎,我就開始了愉快的爬蟲統(tǒng)計閱讀量之路,其實也很簡單,抓取博客園博文的每一頁,然后利用xpath解析出閱讀量,然后進行加和就行了,為了做持久化,隨時看看閱讀量的增加情況,我就寫入了一個文本文件,每次就兩行內容,查詢時間和總閱讀量,當然,我在控制臺可以清晰的查看每頁每條博文的閱讀量。這下可總算是把問題解決了,182篇博文,總閱讀量:35205,差不多是學姐的一半,繼續(xù)努力,看明年畢業(yè)時能不能達到學姐的高度,下面是最終的代碼,當然還有很多不足之處,希望大家多多指教
實現代碼
#導入需要的模塊 import time import requests from lxml import etree #進行UA偽裝 headers={ "User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" } #創(chuàng)建文件,存儲爬到的數據,做持久化,以追加的方式打開,可讀可寫 fp=open('./counter.txt','a+',encoding = 'utf-8') #記錄當前查詢時間 select_time=time.strftime('%Y.%m.%d %H:%M:%S ',time.localtime(time.time())) fp.write('查詢的時間為:'+select_time+'\n') def spider(): #總閱讀量 counts=0 #分頁爬取數據加和 for page_num in range(1,20): #設置url url="https://www.cnblogs.com/andrew3/default.html?page=%d" new_url=format(url%page_num) #獲取頁面數據 page_text=requests.get(url=new_url,headers=headers).text tree=etree.HTML(page_text) #解析數據,得到每頁每篇博文的閱讀量 count_list=tree.xpath('//div[@class="forFlow"]/div/div[@class="postDesc"]/span[1]/text()') print(count_list) #每一頁的閱讀量 sum=0 #計算每頁的閱讀量 for i in range(len(count_list)): sum+=int(count_list[i][3:len(count_list[i])-1]) #計算總閱讀量 counts+=sum #打印每頁每篇博文的閱讀量 print(sum,counts) #總閱讀量持久化 fp.write("總閱讀量為:%s" % counts + '\n') #關閉文件,釋放資源 def close_file(): fp.close() def main(): spider() close_file() if __name__ == '__main__': main()
效果圖
到此這篇關于Python實現統(tǒng)計文章閱讀量的方法詳解的文章就介紹到這了,更多相關Python統(tǒng)計文章閱讀量內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用python實現簡單爬取網頁數據并導入MySQL中的數據庫
這篇文章主要為大家詳細介紹了如何使用 python 實現簡單爬取網頁數據并導入 MySQL 中的數據庫,對我們的學習或工作有一定的幫助,需要的朋友可以參考下2023-06-06Python字符串編碼轉換 encode()和decode()方法詳細說明
這篇文章主要介紹了Python字符串編碼轉換 encode()和decode()方法詳細的說明,下面文章圍繞encode()和decode()方法的相相關資料展開內容,具有一定的價值,需要的朋友卡通參考一下2021-12-12