鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[技术交流] 爬取肺炎疫情最新动态

  [复制链接]
发表于 2020-2-16 17:12:17 | 显示全部楼层
from selenium import webdriver
import re
import pandas as pd
import openpyxl as op
import time
class feiyan():
    def __init__(self,html=None,source=None,confirmed=None,suspected=None,cure=None,died=None,timess=None):
        self.html = html
        self.source = source
        self.confirmed = confirmed
        self.suspected = suspected
        self.cure = cure
        self.died = died
        self.timess = timess
    def FindWeb(self,html):
        option = webdriver.ChromeOptions()
        option.add_argument('--headless')
        driver = webdriver.Chrome(options=option)
        driver.get(html)
        time.sleep(5)
        #source = driver.page_source
        self.source = driver.execute_script('return document.documentElement.outerHTML') #执行JS后得到整个HTML
        return self.source
    def FindData(self):
        confir = re.search(r'number.*\S\s*.*累计确诊',self.source)
        self.confirmed = re.search(r'\d+',confir.group())
        suspect = re.search(r'number.*\S\s*.*现有疑似',self.source)
        self.suspected = re.search(r'\d+',suspect.group())
        cur = re.search(r'number.*\S\s*.*治愈人数',self.source)
        self.cure = re.search(r'\d+',cur.group())
        die = re.search(r'number.*\S\s*.*死亡人数',self.source)
        self.died = re.search(r'\d+',die.group())
        times = re.search(r'统计截至.*?</span>',self.source)
        self.timess = re.search(r'\d+-\d+-\d+\s+\d+:\d+:\d+',times.group())
        print('截止{}:\n全国确诊人数为:{}人\n'.format(self.timess.group(),self.confirmed.group()))
        print('疑似病例为:{}人\n'.format(self.suspected.group()))
        print('治愈人数为:{}人\n'.format(self.cure.group()))
        print('死亡人数为:{}人\n'.format(self.died.group()))
    def save(self):
        target = r'E:\Python\肺炎数据\肺炎数据.xlsx'  #读取前一天数据,合并生成本日数据并保存
        excel = pd.read_excel(target)
        num = len(excel.loc[:,'时间'])
        excel.loc[num,'时间'] = self.timess.group()
        excel.loc[num,'确诊人数'] = self.confirmed.group()
        excel.loc[num,'死亡人数'] = self.died.group()
        excel.loc[num,'治愈人数'] = self.cure.group()
        excel.loc[num,'疑似病例'] = self.suspected.group()
        book = op.load_workbook(target)
        write = pd.ExcelWriter(target,engine = 'openpyxl')
        write.book = book
        excel.to_excel(write,sheet_name='alldata')
        write.save()
        write.close()
if __name__ == '__main__':
    f = feiyan()
    f.FindWeb(html='https://news.qq.com//zt2020/page/feiyan.htm')
    f.FindData()
    f.save()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 17:28:01 From FishC Mobile | 显示全部楼层
爬取
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 17:51:47 | 显示全部楼层
武汉加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 18:10:01 | 显示全部楼层
牛逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 19:59:22 From FishC Mobile | 显示全部楼层
6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 20:17:40 | 显示全部楼层
感謝
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 20:48:23 | 显示全部楼层
方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 21:24:38 From FishC Mobile | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 22:17:45 From FishC Mobile | 显示全部楼层
什么内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 22:25:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 22:55:42 From FishC Mobile | 显示全部楼层
爬那个网站呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 07:45:13 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 10:49:04 | 显示全部楼层
武汉加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 10:58:44 | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 10:59:37 | 显示全部楼层
厉害了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 10:59:47 | 显示全部楼层
??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 11:26:22 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 11:35:56 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 11:51:03 | 显示全部楼层
学习学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-18 01:03:24 From FishC Mobile | 显示全部楼层
Xuexi
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-27 13:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表