소스 검색

处理项目分类变更名称引发的错误

dongzhaorui 1 년 전
부모
커밋
4f1e2ea2b4
1개의 변경된 파일9개의 추가작업 그리고 4개의 파일을 삭제
  1. 9 4
      zgztb_cookie/detail_firefox.py

+ 9 - 4
zgztb_cookie/detail_firefox.py

@@ -151,10 +151,15 @@ class DetailSpider(feapder.AirSpider):
         if not upper_limit:
             # 情况2.1:结构化数据,直接提取数据
             resp_json = response.json
-            data_lst = resp_json['object'][business_keyword]
-            if isinstance(data_lst, list) and len(data_lst) == 0:
-                # 无详情数据不指定分类的名称,防止js拼接找不到分类名称而引发TypeError错误
-                business_keyword = ''
+            try:
+                data_lst = resp_json['object'][business_keyword]
+                if isinstance(data_lst, list) and len(data_lst) == 0:
+                    # 暂无详情的数据,调用js拼接时因json中不存在关键的分类名称而导致TypeError错误;
+                    # 置空分类名称不影响js拼接,js脚本会自动处理内容分类
+                    business_keyword = ''
+            except KeyError:
+                # 该项目发生变更,分类名称发生变更,不检查
+                pass
         else:
             if business_keyword == 'openBidRecord':
                 return None, DataStreamReadStatus.LOSE