BlankerL / DXY-COVID-19-Crawler

2019新型冠状病毒疫情实时爬虫及API | COVID-19/2019-nCoV Realtime Infection Crawler and API
https://lab.isaaclin.cn/nCoV/
MIT License
1.99k stars 400 forks source link

原始代码可能会丢失数据的bug #141

Open PeikaiLi opened 2 years ago

PeikaiLi commented 2 years ago
if self.db.find_one(collection='DXYArea', data=area):
                continue

可能会导致的丢失数据的

比如

area=
 {'provinceName': '西藏自治区',
  'provinceShortName': '西藏',
  'currentConfirmedCount': 0,
  'confirmedCount': 1,
  'suspectedCount': 0,
  'curedCount': 1,
  'deadCount': 0,
  'comment': '',
  'locationId': 540000,
  'statisticsData': 'https://file1.dxycdn.com/2020/0223/353/3398299755968039885-135.json',
  'highDangerCount': 0,
  'midDangerCount': 0,
  'detectOrgCount': 32,
  'vaccinationOrgCount': 16}
PeikaiLi commented 2 years ago

我按照您的风格,做了一些修改,解决了一些bug,并添加了一些功能,提交了一个pull request,希望可以帮到你

BlankerL commented 2 years ago

你好,抱歉才看到这条issue。

数据中的curedCountdeadCount是单调增长的序列,如果一个城市出现确诊病例,确诊病例痊愈或死亡后应该会进入curedCountdeadCount中,因此这两个字段应该可以替代比对日期。

如果上述逻辑不成立,比对日期仍然可能出现同一天的数据遗漏的问题。

PeikaiLi commented 2 years ago

Thanks for your reply; your code is perfect. That issue I mentioned only appear in the table without cumulative date columns.

PeikaiLi commented 2 years ago

出现在在再爬取无症状感染者的数据的时候(无症状感染者的表中没有给出有累计单调增长的序列) 我那样按天查重的过滤方式才是有意义的 image