汪汪已经有好几天没更新了, 自从开启在家办公后也每天忙到深夜, 主要发现在家办公的沟通成本比较高, 以前在办公室几句话能说完的东西也要开个会啥的, 加上公司的网络也不给力, 除了用自己的微信也没别的联络工具了(非互联网公司, 各种软硬件没跟上).
上次做了视频教大家如何用python抓取疫情, 后台有粉丝表示说到源代码处太快了, 今天就附上完整的源代码给大家参考, 希望能有所收获. 想看视频的朋友请参考汪汪之前的视频.
#疫情时期,不忘学习# 教你如何用Python抓取网页生成地图数据
以下为完整源代码
import requests
import json
from pyecharts.charts import Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType, RenderType
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
data = json.loads(requests.get(url=url).json()['data'])
china = data['areaTree'][0]['children']
domestic = []
for i in range(len(china)):
domestic.append([china[i]['name'], china[i]['total']['confirm']])
sub_title = '确诊:', data['chinaTotal']['confirm'], ' 疑似:', data['chinaTotal']['suspect'],
' 死亡:', data['chinaTotal']['dead'], ' 治愈:', data['chinaTotal']['heal'],
' 更新日期:', data['lastUpdateTime']
# print(domestic)
# 设置GEO
geo = (
Geo(init_opts = opts.InitOpts(width='1200px', height='600px', bg_color='#404a59', page_,
renderer=RenderType.SVG, theme='white')) # 设置绘图尺寸,背景色,页面标题,绘制类型
.add_schema(maptype='china', itemstyle_opts=opts.ItemStyleOpts(color='rgb(49,60,72)', border_color='rgb(0,0,0)')) # 中国地图,地图区域颜色,区域边界颜色
.add(series_name='geo', data_pair=domestic, type_=GeoType.EFFECT_SCATTER) # 设置地图数据,动画方式为涟漪特效effect scatter
.set_series_opts( # 系列配置
label_opts=opts.LabelOpts(is_show=False), # 去掉Label
effect_opts=opts.EffectOpts(scale=6)) # 设置特效缩放比例
.set_global_opts( # 全局配置
visualmap_opts=opts.VisualMapOpts(min_=0, max_=3000), # 视觉映像配置
title_opts=opts.TitleOpts(,
subtitle=sub_title,
pos_left='center', pos_top='10px',
title_textstyle_opts=opts.TextStyleOpts(color='#fff')), # 设置标题,副标题,标题位置,文字颜色
legend_opts=opts.LegendOpts(is_show=False), # 不显示图例
)
)
geo.render(path='map.html') # 绘制到html文件
![0a5610932ea3fe73c51d6f2acd1fdb79.png](https://i-blog.csdnimg.cn/blog_migrate/acc1398e77c327e6546c2fa7ddd6eacf.jpeg)
审美有限, 大家可以根据自己的喜好调整颜色.
汪汪也还在学习阶段, 回应大家指正交流, 期待和大家共同成长.