Python—Requests庫的爬取效能分析

wayne_dream發表於2018-05-16

“任意”找個url,測試一下成功爬取100次網頁的時間。(某些網站對於連續爬取頁面將採取遮蔽IP的策略,所以,要避開這類網站。)

import requests
import time
def getHtmlText(url):
    try:       # try except:用於異常處理
        r = requests.get(url, timeout=30)   # get到網站  timeout=30:如果get時間超過30s,則停止等待響應 
        r.raise_for_status()                        # 檢測是否連線成功
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return `執行異常`

if __name__ == "__main__":  # Python 模擬的程式入口
    url = `https://www.baidu.com`
    totaltime = 0
    for i in range(100):
        starttime = time.perf_counter()
        getHtmlText(url)
        endtime = time.perf_counter()
        print(`第{0}次爬取,用時{1:.4f}秒`.format(i+1, endtime-starttime))
        totaltime=totaltime+endtime-starttime
    print(`總共用時{:.4f}秒`.format(totaltime))

這是用百度做的測試,有興趣的可以試試別的網站,小心被封ip哦,特別是某些直播網站,封了的話可能一段時間全寢室都看不了直播了!!!哼哼
if __name__ == "__main__":對這條程式碼有疑問的可轉至:http://blog.konghy.cn/2017/04/24/python-entry-program/

網路爬蟲有風險,爬取資料需謹慎


相關文章