[python 那些事] [初级练习] 简单爬虫 武汉加油

目标网站:https://news.163.com/special/epidemic/
任务:爬取当日各地疫情基本状况
适合人群:了解基本python代码,小项目实训

代码如下

先引入爬虫利器requests 和 数据处理小能手pandas

import requests
import pandas as pd

下面函数是获取json数据

def get_page(url):
    headers={'User-Agent':'XXXXXXX'}
    r=requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding
    a=r.json()
    return a

下面就需要稍微分析一下网页源码了 ,毕竟是提取有效信息嘛

def parse_page(html):
    all=[]
    china = html['data']['areaTree'][0]['children']
    for i in range(len(china)):
        provinceName=china[i]['name']
        for j in range(len(china[i]['children'])):
            cityName = china[i]['children'][j]['name']
            confirm = china[i]['children'][j]['today']['confirm']
            dead = china[i]['children'][j]['today']['dead']
            heal = china[i]['children'][j]['today']['heal']
            suspect = china[i]['children'][j]['today']['suspect']
            lastUpdateTime = china[i]['children'][j]['lastUpdateTime']
            a = {'province':provinceName,'city':cityName,
                     'confirm':confirm,'dead':dead,'heal':heal,
                    'suspect':suspect,'lastUpdateTime':lastUpdateTime}
            all.append(a)
    return all

下面是将有效数据保存到文件中

def save_file(all):
    df = pd.DataFrame(all)
    order=['province','city','confirm','dead','heal','suspect','lastUpdateTime']
    df = df[order]
    df.to_csv('pachong.csv',index=True,header=True)

上面都是函数 下面就是执行啦

url = "https://c.m.163.com/ug/api/wuhan/app/data/list-total?t=316639086783"
dataJson = get_page(url)
allData = parse_page(dataJson)
save_file(allData)

老规矩 有问题私聊

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小范今天学Java了嘛?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值