ETH官方钱包

創(chuàng)作內(nèi)容

0 GP

針對巴哈和噗浪的Python爬蟲─三、─(三)副程式─2.連線測試

作者:SystemCall│2023-08-01 23:41:29│巴幣:0│人氣:142
針對巴哈姆特和噗浪的 Python 爬蟲
Python crawler for Gamer and Plurk
Player_SystemCall

2023 7 4
我把整個製作流程做成一份 PDF 文件囉,
不過除了程式碼和參考資料的連結(jié)可以複製外,
其他都不可以複製就是了。
註1:公布了把程式碼從純文本轉(zhuǎn)換成巴哈 BBcode 的線上工具的原文連結(jié)
註2:將上述線上工具套上了 CSS 的原文連結(jié)

三、Python 程式

(三)副程式

2. 連線測試

    • 程式碼
import time
import requests
from fake_useragent import UserAgent

def go_to_web(web_URL): #測試網(wǎng)路連結(jié)的狀態(tài)
    web_status = 0 #程式調(diào)整的網(wǎng)路狀態(tài)碼
    web_testtime = 0 #測試網(wǎng)路連線的次數(shù)
    while web_status != 200 and web_testtime != 3: #當(dāng)網(wǎng)路狀態(tài)碼等於200或測試次數(shù)達(dá)到3次時,結(jié)束迴圈
        headers = {"User-Agent" : UserAgent().random} #設(shè)置http頭欄位,裡面夾帶瀏覽器識別標(biāo)籤
        Go_to_web = requests.get(web_URL, headers = headers, timeout = 60, allow_redirects = False, stream = True, verify = False) #對web_URL夾帶headers發(fā)出GET請求,timeout為最長反應(yīng)時間,allow_redirects為禁止重新定向,stream為強(qiáng)制解壓縮,verify為SSL憑證檢查功能       
        requests.packages.urllib3.disable_warnings() #關(guān)閉InsecureRequestWarning的顯示
        if Go_to_web.status_code != 200: #如果網(wǎng)路狀態(tài)碼不等於200
            time.sleep(30) #停頓30秒
            web_testtime = web_testtime + 1 #測試網(wǎng)路連線的次數(shù)加1
        else: #等於200
            web_status = Go_to_web.status_code
            web_testtime = web_testtime + 1 #測試網(wǎng)路連線的次數(shù)加1
        Go_to_web.close() #關(guān)閉對web_URL夾帶headers發(fā)出GET請求
    return web_status #回傳程式調(diào)整的網(wǎng)路狀態(tài)碼
    • 說明
  這段 go_to_web 副程式的組成有 3 行引入和 15 行的主文,執(zhí)行一次可以測試一條完整的網(wǎng)址,如果連線正常,輸出網(wǎng)路狀態(tài)碼(HTTP Status Code200,如果連線異常,輸出非 200 的網(wǎng)路狀態(tài)碼或是直接回傳錯誤。這些程式碼執(zhí)行起來太長太久且具有高度和重複的功能性,所以需要和適合封裝成副程式。
  這段程式只能接受一段完整的網(wǎng)址,如果輸入一段域名和 IP 位址,程式會直接報錯,因為我用 requests.get 發(fā)出 GET 請求時設(shè)置了禁止重新定向,即 allow_redirects=False,除此之外,也只能適用於在連線時不須傳送有效資料取得資訊回傳的網(wǎng)址,因為使用的網(wǎng)路請求為 GET,不是 POST。這段網(wǎng)路測試有 2 個停止的條件,網(wǎng)路狀態(tài)碼為 200 或是測試次數(shù)達(dá) 3 次,前者的狀況建立在任一次 200,後者為試了 3 次仍是非 200

引用網(wǎng)址:http://www.jamesdambrosio.com/TrackBack.php?sn=5766847
All rights reserved. 版權(quán)所有,保留一切權(quán)利

相關(guān)創(chuàng)作

同標(biāo)籤作品搜尋:爬蟲程式|巴哈姆特|crawler|Gamer|Plurk|副程式|subprogram|網(wǎng)路連線

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★player0309 可決定是否刪除您的留言,請勿發(fā)表違反站規(guī)文字。

前一篇:針對巴哈和噗浪的Pyth...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網(wǎng)路標(biāo)準(zhǔn),可能無法使用新的應(yīng)用程式來呈現(xiàn)網(wǎng)站內(nèi)容,在瀏覽器支援度及網(wǎng)站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現(xiàn)和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業(yè)系統(tǒng)版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續(xù)經(jīng)營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學(xué)】