【Python 实战基础】如何采集疫情数据并写入文件

目录

一、实战场景

二、主要知识点

文件读写

基础语法

数据采集基础

request 库

BeautifulSoup 网页解析

三、菜鸟实战

1、创建 python 文件

2、文件目录

3、运行结果


一、实战场景

从网站采集疫情数据,并写入到文件。

二、主要知识点

  • 文件读写

  • 基础语法

  • 数据采集基础

  • request 库

  • BeautifulSoup 网页解析

三、菜鸟实战

马上安排!

1、创建 python 文件

'''
Author: 菜鸟编程实战
Description: 获取各国昨天最新的疫情信息
'''

import requests, re, json, platform
from bs4 import BeautifulSoup
import sys

# 加载工作空间
sys.path.append('..')

from py010 import config, util

print("Hello,菜鸟实战")
print("实战场景: 获取各国昨天最新的疫情信息 ")
print("采集开始...")

# 1、获取疫情首页数据
# 目标网站 TARGET_URL = "https://ncov.dxy.cn/ncovh5/view/pneumonia"
response = requests.get(config.TARGET_URL)
home_page_content = response.content.decode()

# 2、从疫情首页中提取最近一天各国疫情字符串
soup = BeautifulSoup(home_page_content, 'lxml')
script_content = soup.find(id='getListByCountryTypeService2true')
text = script_content.string

# 3、从最近一天各国疫情字符串中提取json格式字符串
json_str = re.findall(r'\[.+\]',text)[0]

# 4、把json格式字符串,转换为 python 类型
last_day_corona_virus = json.loads(json_str)

# 5、把python类型的数据,以json格式存入文件中, 字符编码为 utf8
file_path = util.get_file_dir_by_name(config.FILE_ALL_COUNTRY)
with open(file_path, 'w', encoding='utf8') as fp:
    json.dump(last_day_corona_virus, fp, ensure_ascii=False)

print("采集结束.")
print("python 版本", platform.python_version())

2、文件目录

 py-010/

├── data
│   ├── all_country_corona_virus.json
├── spiders
│   ├── spider_1.py
 

3、运行结果

Hello,菜鸟实战
实战场景: 获取各国昨天最新的疫情信息 
采集开始...
采集结束.
python 版本 3.10.4

菜鸟实战,持续学习,需要源码的同学点赞评论后添加微信免费领取~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟实战

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

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

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

打赏作者

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

抵扣说明:

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

余额充值