91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

python數據爬蟲如何進行異常處理

小樊
81
2024-11-26 17:08:26
欄目: 編程語言

在Python中進行數據爬蟲的異常處理,可以使用try-except語句來捕獲和處理異常。以下是一個簡單的示例:

import requests
from bs4 import BeautifulSoup

def get_html(url):
    try:
        response = requests.get(url)
        response.raise_for_status()  # 如果請求返回的狀態碼不是200,將拋出異常
        return response.text
    except requests.RequestException as e:
        print(f"請求異常: {e}")
        return None
    except Exception as e:
        print(f"其他異常: {e}")
        return None

def parse_html(html):
    if html is None:
        return []

    soup = BeautifulSoup(html, "html.parser")
    try:
        # 在這里解析HTML,例如提取數據
        data = []
        for item in soup.find_all("div", class_="item"):
            title = item.find("h2").text
            link = item.find("a")["href"]
            data.append({"title": title, "link": link})
        return data
    except Exception as e:
        print(f"解析異常: {e}")
        return []

def main():
    url = "https://example.com"
    html = get_html(url)
    data = parse_html(html)
    print(data)

if __name__ == "__main__":
    main()

在這個示例中,我們使用了兩個函數get_htmlparse_htmlget_html函數用于發送HTTP請求并獲取HTML內容,parse_html函數用于解析HTML并提取數據。

get_html函數中,我們使用try-except語句捕獲可能的異常,例如請求異常(如連接超時、DNS解析失敗等)和其他異常。如果發生異常,我們將打印異常信息并返回None。

parse_html函數中,我們同樣使用try-except語句捕獲可能的異常。如果發生異常,我們將打印異常信息并返回一個空列表。

通過這種方式,我們可以確保在爬蟲過程中遇到問題時,程序不會崩潰,而是能夠繼續運行或優雅地退出。

0
井研县| 普宁市| 湖口县| 灵山县| 大冶市| 湖州市| 通道| 青铜峡市| 江西省| 常熟市| 资阳市| 寻乌县| 彰化市| 长宁区| 施秉县| 河间市| 阳新县| 比如县| 和平区| 阜南县| 佛山市| 大关县| 白水县| 都匀市| 新竹市| 夏河县| 彰化县| 锦屏县| 陆良县| 诸城市| 无棣县| 东乌珠穆沁旗| 明水县| 巫溪县| 浪卡子县| 日喀则市| 菏泽市| 达拉特旗| 赤水市| 永安市| 长治县|