[SAE]抓取csdn部落格訪問次數,圖形展示訪問趨勢,saecsdn

來源:互聯網
上載者:User

[SAE]抓取csdn部落格訪問次數,圖形展示訪問趨勢,saecsdn

前一段時間買了個網域名稱,綁定到github的靜態部落格上,也就相當於一個獨立部落格了。 自己可以添加各種站長統計,但是回過頭來到CSDN這個部落格卻沒法查看某段時間的訪問統計,只有一個總的訪問量。於是我就想自己弄個定時任務,抓取頁面上這個總的訪問次數,然後存到資料庫中,然後通過js畫圖外掛程式來查看一段時間的訪問變化以及每個時間段的訪問情況。


正好前一段時間申請了一個新浪sae的帳號一直沒有怎麼用,於是就決定寫幾個指令碼來實現這個功能

環境: SAE

軟體: python webby,bootstrap,hightcharts

使用到的服務: mysql cron定時任務



描述: 

定時任務: 每小時的0分鐘開始抓取csdn部落格訪問次數,把訪問總量和本次訪問量與上次訪問的差值 插入到mysq中

頁面訪問: 通過js畫圖軟體畫出整個訪問趨勢


主要的代碼:

sae cron配置 config.yaml

name: loveshijianversion: 1libraries:-   name: webppy    version: "0.36"-   name: lxml    version: "2.3.4"cron:- description: cron test  url: cron/show  schedule: "0 * * * *"


抓取方法: weixin_handler.py

def get_click():    '''    get my blog clicked number    '''    user_agent =  'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'    headers = { 'User-Agent' : user_agent }    request = urllib2.Request(BLOG_URL, headers=headers)    res = urllib2.urlopen(request)    the_page = res.read()    #print the_page    res = ''    pattern = re.compile('''<li>訪問:<span>(.*)</span></li>''', re.M)    info_str = pattern.findall(the_page)    if len(info_str)>0:        res = info_str[0]    else:        pattern = re.compile('''<LI>訪問:<SPAN>(.*)</SPAN></LI>''', re.M)        info_str = pattern.findall(the_page)        res = info_str[0]    return res


原理很簡單,一個下午也就實現了,但是highcharts用的不是很好,時間軸顯示一直有問題。

源碼地址: https://github.com/orangle/SAEcode

展示頁面: http://loveshijian.sinaapp.com/hour_show   

有時間繼續重構,webpy之前沒有使用過,都是現用現查,程式碼群組織結構比較混亂。。


本文出自 “orangleliu筆記本” 部落格,請務必保留此出處http://blog.csdn.net/orangleliu/article/details/39184291





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.