2020年肺炎病毒的爬虫(python)

2020年初,我国武汉爆发了恐怖肺炎病毒,接着全国陆陆续续也传染了起来,弄得人心惶惶,闭门不出。

看了太多武汉相关的视频,心中感慨万分,只想献上一份非常普通的——2019-nCoV病毒。

此前,先献上来自于百度百科的资料

2019新型冠状病毒,即“2019-nCoV”,
因2019年武汉病毒性肺炎病例而被发现,2020112日被世界卫生组织命名。
冠状病毒是一个大型病毒家族,已知可引起感冒以及中东呼吸综合征(MERS)和严重急性呼吸综合征(SARS)等较严重疾病。
新型冠状病毒是以前从未在人体中发现的冠状病毒新毒株。
201912月以来,湖北省武汉市持续开展流感及相关疾病监测,发现多起病毒性肺炎病例,均诊断为病毒性肺炎/肺部感染。
人感染了冠状病毒后常见体征有呼吸道症状、发热、咳嗽、气促和呼吸困难等。
在较严重病例中,感染可导致肺炎、严重急性呼吸综合征、肾衰竭,甚至死亡。
目前对于新型冠状病毒所致疾病没有特异治疗方法。
但许多症状是可以处理的,因此需根据患者临床情况进行治疗。
此外,对感染者的辅助护理可能非常有效。
做好自我保护包括:
  保持基本的手部和呼吸道卫生,
  坚持安全饮食习惯,
  并尽可能避免与任何表现出有呼吸道疾病症状(如咳嗽和打喷嚏等)的人密切接触。

# 2019-nCoV 爬虫
import requests

import time
import re
import os

def getHtml():
    # 请求、return html
    url = 'https://3g.dxy.cn/newh5/view/pneumonia?scene=2&clicktime=1579579384&enterid=1579579384&from=groupmessage&isappinstalled=0'
    response = requests.get(url)
    response.encoding = 'utf-8'
    html = response.text
    return html

def clear(html):
    # 过滤、return data
    req1 = r'{"id":.*?,"createTime":.*?,"modifyTime":.*?,"tags":"(确诊 .*?)","countryType":.*?,"provinceId":".*?","provinceName":".*?","provinceShortName":"(.*?)","cityName":"","confirmedCount":.*?,"suspectedCount":0,"curedCount":(.*?),"deadCount":(.*?),"comment":".*?","sort":.*?,"operator":".*?"}'
    req2 = r'{"id":.*?,"createTime":.*?,"modifyTime":.*?,"tags":"(确诊 .*?)","countryType":.*?,"provinceId":".*?","provinceName":".*?","provinceShortName":"(.*?)","cityName":"","confirmedCount":.*?,"suspectedCount":0,"curedCount":(.*?),"deadCount":(.*?),"comment":".*?","sort":.*?,"operator":".*?"}'
    old_data = re.findall(req1,html,re.S) # 简单信息、省份、治疗人数,死亡人数
    data = []
    for item in old_data:
        # 数据重整
        data.append( [ item[1],item[0].split(','),item[2],item[3] ] )
    # print(data)
    # [ '湖北', ['确诊 444 例', '疑似病例数待确认', '治愈 28 例', '死亡 17 例'], '90', '162' ]
    return data

def showAndSave(data):
    # 当前时间
    year = time.localtime(time.time()).tm_year
    mouth = time.localtime(time.time()).tm_mon
    day = time.localtime(time.time()).tm_mday
    hour = time.localtime(time.time()).tm_hour
    min = time.localtime(time.time()).tm_min
    sec = time.localtime(time.time()).tm_sec
    now = str(year) + '年' + str(mouth) + '月' + str(day) + '日'
    full_now = now + ' ' + str(hour) + ':' + str(min) + ':' + str(sec)
    print('\n\n日期:\t' + full_now + '\n')
    # 创建/打开 文件夹
    if not os.path.exists('2019-nCoV'):
        os.mkdir('2019-nCoV')
    os.chdir('2019-nCoV')
    # 打印/写入一段话
    myword = '2020年,艰难的一天到了,但病毒不能难倒我们中国人,艰苦的一天终有一天会过去,胜利即将到来。同志们,准备迎接满地春风的那一天吧。\n武汉加油,中国加油!!!!'
    if not os.path.exists('##武汉加油,中国加油.txt'):
        with open('##武汉加油,中国加油.txt','w') as f:
            f.write(myword)
    print ('\t' + myword + '\n' )
    # 打印/写入文件
    mystr = ''
    for item in data:
        # print(item)
        # '\n\t' + item[1][2] + '\n\t' + item[1][3] + 
        mystr += item[0] + '\n\t' + item[1][0] + '\n\t治疗人数 ' + item[2] + ' 人 \n\t死亡人数 ' + item[3] + ' 人\n'
    print( mystr )
    with open(now + '.txt','w') as f:
        f.write(full_now + '\n\n' +mystr)

if __name__ == "__main__":
    html = getHtml()
    data = clear(html)
    # [ '湖北', ['确诊 444 例', '疑似病例数待确认', '治愈 28 例', '死亡 17 例'], '90', '162' ]
    showAndSave(data)

你可能感兴趣的:(python)