From fffe76ee5ad351be7d4909ca138674bee4b6c340 Mon Sep 17 00:00:00 2001 From: yangxudongll <1593744164@qq.com> Date: Wed, 5 Aug 2020 14:51:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BF=A1=E6=81=AF=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 数据存储/.idea/workspace.xml | 22 ++++++----- 数据存储/DataFrame.py | 36 ++++++++++++++++++ 数据存储/GrapData.py | 8 ++++ 数据存储/Grapmain.py | 10 +++-- .../__pycache__/DataFrame.cpython-36.pyc | Bin 7549 -> 8686 bytes .../__pycache__/GrapData.cpython-36.pyc | Bin 5640 -> 5754 bytes 6 files changed, 63 insertions(+), 13 deletions(-) diff --git a/数据存储/.idea/workspace.xml b/数据存储/.idea/workspace.xml index d0a892f..9e3a45f 100644 --- a/数据存储/.idea/workspace.xml +++ b/数据存储/.idea/workspace.xml @@ -2,8 +2,10 @@ - - + + + + - + - - + + - - + + - - + + - + diff --git a/数据存储/DataFrame.py b/数据存储/DataFrame.py index 9c651c0..fb00969 100644 --- a/数据存储/DataFrame.py +++ b/数据存储/DataFrame.py @@ -139,6 +139,7 @@ class SaveToDB(): curser.close() self.conn.close() + #存储国内各省疫情信息 def InsertIntoProvince(self,data): #param data list(tuple),每个元组即一个省的信息 #首先删掉数据库中当日的数据 @@ -156,6 +157,7 @@ class SaveToDB(): cursor.execute(sql) cursor.close() + #存储国内城市的疫情信息 def InsertToCity(self,data): #首先删掉数据库中当日的数据 cursor=self.conn.cursor() @@ -171,6 +173,7 @@ class SaveToDB(): cursor.execute(sql) cursor.close() + #存储外国所有国家疫情信息 def InsertForeignCountry(self,data): #首先删掉数据库中当日的数据 cursor=self.conn.cursor() @@ -189,6 +192,39 @@ class SaveToDB(): pass cursor.close() + #存储国内疫情汇总 + def InsertSummaryChina(self,data): + # 首先删掉数据库中当日的数据 + cursor = self.conn.cursor() + insertTime = data[-1] + # 删掉同一天的数据 + deletesql = 'delete from InsideChina where Date(updateTime)=Date("%s");' % (insertTime) + cursor.execute(deletesql) + # 设置ID从最小开始 + self.__rule('InsideChina') + sql = 'insert into InsideChina(curConfirm,curConfirmRelative,asymptomatic,asymptomaticRelative,' \ + 'unconfirmed,unconfirmedRelative,icu,icuRelative,confirmed,confirmedRelative,' \ + 'overseasInput,overseasInputRelative,cured,curedRelative,died,diedRelative,updateTime) ' \ + 'values(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,"%s");' % (data) + cursor.execute(sql) + cursor.close() + + #存储国外疫情汇总 + def InsertSummaryForeign(self,data): + # 首先删掉数据库中当日的数据 + cursor = self.conn.cursor() + insertTime = data[-1] + # 删掉同一天的数据 + deletesql = 'delete from OutsideChina where Date(updateTime)=Date("%s");' % (insertTime) + cursor.execute(deletesql) + # 设置ID从最小开始 + self.__rule('OutsideChina') + sql = 'insert into OutsideChina(confirmed,curConfirmed,confirmedRelative,' \ + 'cured,curedRelative,died,diedRelative,updateTime) ' \ + 'values(%d,%d,%d,%d,%d,%d,%d,"%s");' % (data) + cursor.execute(sql) + cursor.close() + #删除某些元组后ID可能出现中断,手动调整ID连续从最小ID开始 diff --git a/数据存储/GrapData.py b/数据存储/GrapData.py index d133b63..63eda0b 100644 --- a/数据存储/GrapData.py +++ b/数据存储/GrapData.py @@ -148,6 +148,9 @@ class Spider(): Outside.diedRelative=int(DataOut['diedRelative']) Outside.updatedTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) print(Outside) + return (Outside.confirmed,Outside.curConfirm,Outside.confirmedRelative, + Outside.cured,Outside.curedRelative,Outside.died,Outside.diedRelative, + Outside.updatedTime) #抓取国内疫情信息概况 @@ -183,6 +186,11 @@ class Spider(): Inside.curConfirmRelative=int(DataIn['curConfirmRelative']) Inside.updatedTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) print(Inside) + return (Inside.curConfirm,Inside.curConfirmRelative,Inside.asymptomatic,Inside.asymptomaticRelative, + Inside.unconfirmed,Inside.unconfirmedRelative,Inside.icu,Inside.icuRelative,Inside.confirmed, + Inside.confirmedRelative,Inside.overseasInput,Inside.overseasInputRelative,Inside.cured, + Inside.curConfirmRelative,Inside.died,Inside.diedRelative,Inside.updatedTime) + def dealData(self,a,b): diff --git a/数据存储/Grapmain.py b/数据存储/Grapmain.py index aeb7c80..f2029dc 100644 --- a/数据存储/Grapmain.py +++ b/数据存储/Grapmain.py @@ -3,10 +3,14 @@ from GrapData import Spider,SaveToDB def main(): spider=Spider() spider.url='https://voice.baidu.com/act/newpneumonia/newpneumonia/' - spider.grapProvince() + #spider.grapProvince() savedb=SaveToDB() - foreignData=spider.grapForeign() - savedb.InsertForeignCountry(foreignData) + #foreignData=spider.grapForeign() + #国内疫情概述 + #InsideData=spider.grapSummaryChina() + #国外疫情汇总 + OutsideData=spider.grapSummaryForeign() + savedb.InsertSummaryForeign(OutsideData) if __name__ == '__main__': main() \ No newline at end of file diff --git a/数据存储/__pycache__/DataFrame.cpython-36.pyc b/数据存储/__pycache__/DataFrame.cpython-36.pyc index 92bd3498d9310b69d233dbf5c9686365e5dac9f3..b81aae0c07d1a491975ea6c05d65eca0482f4450 100644 GIT binary patch delta 998 zcmbtT&1(}u6rb6AxY?%Wqsf|PlNv${iAE_35tAy#1hF8kn2I$ZWywt24augR-AyrW z$RQp*2m@Zcc<>((!HXaY-UUx;uU@=(^(6Qio3kuo7wj9iI-o3&qQqVACY2U z!E~D*8xP^FqI(7Yb~Y2ci*^>*!0sShXnKbTBZ8pr8286N@b|HGUR8=%;t!PkzzZh| zU==Xq27ry4sELQDFW8uPW>Mco1luK}z8iW8wtI-Nlj9;TXGPpLhL~p*^NeCb(>*@X zyUeQ4vsWUtMNOL8V4ZeqNjEe?D_febrmDMJl+jdGHEGV;Cg4`JHqBoieMp}&()lu* zgAVFNjF6@ql$j|_H#?I}a(qFa<8e7XZ|RMWzM-);C54IgE!t8|txF49!*XoA=bxg9 zvz;zw233tEecLh%zwO3}4U0ibK>jV7^oeh zkhNpF(A$WhIuI2`UUHF2yy@b delta 226 zcmaFo{MU-hn3tDpqL)^Du-rzj9sxc(1_p*yhA74qhA5^Kp~*`Gj97vhG=(?65?H_? z)&rERVaQ_0Vr*upWvXFJVU%P@VV}G}Qjy=Mgr$VFhOrq4T^M3*CSQV zDq)jkXl7(&h-4^qhydbnh8m_U_GSh~h7<;%;T)5Bq|WoaWCj{ua4>QSaENjU Na`1DAPHs}n0RY?tGC%+T diff --git a/数据存储/__pycache__/GrapData.cpython-36.pyc b/数据存储/__pycache__/GrapData.cpython-36.pyc index e830c00587c0fc041bbe4ec54ff9785f58905acf..14c5f23509bbbf1d297ca0812d0e26b84ccebaa0 100644 GIT binary patch delta 236 zcmeCs`K7~U%*)GlEmSMMMtLI_H!n8_0|SFI5ErvCPFCQ3qEy3?#Sg>+Kr9HvLO?7G z#3Dc}3dE9W9FuQxIc@gfi)3Wfnp`TZ$}Yjk!N|iXF!=<(CbuBWv=t!Jj!r%(FxL&J z3uK}k5TlzW1r(D8Vlf~V2Vxl@mIY#v%^>w4S4aY}QkvlA1VMf#wz(je+5xS#WanTM hU=#sbyHM>wOjh81!j!@=`4*Sc<_x|_Mn;v% z_k~p%B__Y)*W`k$OWCX_kjw~FxA~MHKNH(5kX|#OLd(etB9j>ROx`SVnDN-;a?xqb LQXEQ?1;nxdpP(Lz