iT邦幫忙

DAY 22
0

所謂的客製化程式,就是指現在我寫作的方式吧?常常忽略許多現實網頁上會遇到的狀況,只取一般狀態來處理程式碼,這樣好像不太好吧?但是,換個角度想想,這是用來分析自家公司網頁的SEO,如果出現例外狀況,大部分都是寫作或規劃錯誤,直接修正還比較務實,這樣想想,我的程式就越寫越隨便了...〈這樣不對吧?〉

所以剩下幾天,與其發覺新功能,不如來修正一下程式碼,增加可用性!

在開始優化之前〈還沒優化卻說那麼屁話幹嘛...〉,先討論網站回應速度吧!載入js和css是很花時間的!所以壓縮這些檔案其實能達到加速的效果,大概差個0.1至1秒左右吧?很少嗎?那如果同是有1000個來存取網頁,這樣的動作不但能減少頻寬消耗,也降低了伺服器的負載,這也不錯吧?

以下程式就是抓取js和css計算其字元長度

def get_css_len( targetUrl, TagList ):
    targetTag=[ "link" ]
    targetAttr=[ "href" ]
    
    resultList = get_attr( TagList, targetTag, targetAttr )
    
    cssLen = 0
    for x in resultList :
        if re.search( r'^http' , x ):
            data = get_url_data( x )
            cssLen += len( str( data.decode( "utf-8" ) ) )
        elif re.search( r'^\/[\w]' , x ):
            data = get_url_data( targetUrl + x[1:] )
            cssLen += len( str( data.decode( "utf-8" ) ) )
        elif re.search( r'^\/\.\.' , x ):
            pass
    
    return cssLen





def get_js_len( targetUrl, TagList ):
    targetTag=[ "script" ]
    targetAttr=[ "src" ]
    
    resultList = get_attr( TagList, targetTag, targetAttr )
    
    jsLen = 0
    for x in resultList :
        if re.search( r'^http' , x ):
            data = get_url_data( x )
            jsLen += len( str( data.decode( "utf-8" ) ) )
        elif re.search( r'^\/[\w]' , x ):
            data = get_url_data( targetUrl + x[1:] )
            jsLen += len( str( data.decode( "utf-8" ) ) )
        elif re.search( r'^\/\.\.' , x ):
            pass
    
    return jsLen

真的該優化了,現在寫的程式隨便拿個網站抓都有很大機會出錯QQ

以上,晚安!

P.S.什麼時候才能在下班的時候看見太陽呢?〈夏至加上運氣好吧?〉


上一篇
[Day 21] HTML 取出特定屬性
下一篇
[Day 23]整理程式碼 - 業務和工程師的戰爭
系列文
從魯蛇到蟒蛇--網頁(站)靜(動)態分析工具開發30

尚未有邦友留言

立即登入留言