爬虫——第一次试验(三大网站疫情爬取代码)

本文分享了使用Python爬虫从163、酷我、新浪三大网站抓取疫情数据的试验过程,包括代码实现和抓取结果展示。提醒注意更换URL以获取最新数据。
摘要由CSDN通过智能技术生成

三大网站一共四篇
记得改URL地址

试验成果

疫情_163

# -*- coding: utf-8 -*-
"""
爬取疫情数据:城市、确诊人数、治愈人数、死亡人数、日期
网易:https://news.163.com/special/epidemic/
"""
#台湾、香港、澳门城市为空,需要单独提取
import requests
import pandas as pd
import os

def get_page(url):
    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
    }
    try:
        r = requests.get(url, headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.json()
    except Exception as e:
        print("Error", e)
        return ""
    
def parse_page(data_json):
    data = data_json['data']['areaTree'][0]['children']
    all_data = []
    for i in data: #遍历每一个省份
        if len(i['children']) != 0:
            province = i['name']
            date = i['lastUpdateTime'].split(' ')[0]
            for j in i['children']: #遍历每一个省内城市
                data_one = {
   }  #存放每一个城市信息
                #省份
                data_one['province'] = province
                #城市
                data_one['city'] = j['name']
                #确诊人数
                data_one['sureNum'] = j['total']['confirm']
                #治愈人数
                data_one['cureNum'] = j['total']['heal']
                #死亡人数
                data_one['deathNum'] = j['total']['dead']
                #日期
                data_one['date'] = date
                all_data.append(data_one)
        else:
            #台湾、香港、澳门城市为空,需要单独提取
            data_one = {
   }
            data_one['province'] = i['name']
            data_one['city'] = i['name']
            data_one['sureNum'] = i['total']['confirm']
            data_one['deathNum'] = i['total']['dead']
            data_one['cureNum'] = i['total']['heal']
            data_one['date'] = i['lastUpdateTime'].split(' ')[0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值