Эх сурвалжийг харах

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

dongzhaorui 1 жил өмнө
parent
commit
4f1e2ea2b4

+ 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