1
我正在編寫web spider來使用python中的scrapy框架來廢棄一些產品。 我想知道什麼是計算書面蜘蛛的覆蓋率和丟失項目的最佳實踐。計算scrapy webspider的覆蓋範圍
我現在正在使用的是記錄無法解析或引發異常的情況。作爲一個例子:當我期望一個產品的價格或地點的特定格式,我發現我寫的正則表達式不匹配報廢的字符串。或者當我的xpath
特定數據選擇器沒有任何返回。
有時候,當產品列在一頁或多頁時,我使用curl
和grep
粗略計算產品數量。但我想知道是否有更好的做法來處理這個問題。
我個人更喜歡EAFP風格,所以這個答案是一種解脫,但這是否意味着如果我從1個網頁中提取20個細節我的解析函數充滿了20個try和except子句? –
@HadyElsahar nope,如果您有一個'spider_error'信號處理程序,則在處理程序中抓取時引發的所有異常都將「可用」。有自定義的異常提出應該緩解錯誤分析和處理.. – alecxe
是的,但我更喜歡單獨處理try catch子句中的每個細節,以便蜘蛛完成抓取剩餘的細節,如果它沒有得到[可選項目]。 ,而且對於遺漏的情況下的專用日誌消息,哪些部分實際上失敗了(例如獲取價格文本或解析它) –