我是程序员小小叶,为大家带来原创精彩技术内容。

疫情无论是对于个体还是企业都是无法承受之重。希望疫情早日过去,这是作为一个普通人一个的小小心愿。

我们身边的亲朋好友也或多或少受到了疫情的影响,让我们来通过python找出朋友圈的武汉朋友给予关怀。

第一步,首先还是先安装wxpy,其次就是安装本文中地图绘制所用到的pyecharts模块

pip install wxpy # 支持微信相关功能

pip install pyecharts # 支持地图绘制功能

pip install pyecharts_snapshot

第二步,根据需要下载所需要的地图数据包,pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。这里我们选择中国省级地图: echarts-china-provinces-pypkg进行下载,用于显示湖北省的地图

全球国家地图: echarts-countries-pypkg:世界地图和 213 个国家,包括中国

中国省级地图: echarts-china-provinces-pypkg:23 个省,5 个自治区

中国市级地图: echarts-china-cities-pypkg:370 个中国城市

中国县区级地图:echarts-china-counties-pypkg:2882 个中国县·区

中国区域地图:echarts-china-misc-pypkg:11 个中国区域地图,比如华南、华北。

除此之外,英国2016选区图: echarts-united-kingdom-pypkg:英国选区图可以用来画与政治经济相关的数据

pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

pip install echarts-china-counties-pypkg

pip install echarts-china-misc-pypkg

环境准备好之后,紧接着设计策略。

1.通过Bot(cache_path=True).friends()函数获取好友信息,从中找到我们寻找的湖北朋友;

2.向eCharts添加自定义geojson数据实现地图展示;

3.自定义祝福话术,随机发送给湖北好友列表
完整代码:

# encoding: utf-8
"""
@author: 程序员小小叶
@contact: 3203636266@qq.com
@微信公众号:程序员小小叶
@time: 2020/2/19 13:03
@file: case4.py
@desc: 疫情当前,python帮你找出朋友圈的武汉朋友给予关怀
"""
from wxpy import *
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType
from pyecharts.globals import ThemeType
import webbrowser
import randomdef is_Chinese(word):  # 由于存在国外友人,所以这里要滤除国外英文地名以及不填地区的好友for ch in word:if '\u4e00' <= ch <= '\u9fff':return Truereturn Falsebot = Bot(cache_path=True)
# 获取所有好友的信息
friends = bot.friends()
# 获取省份信息,并过滤出湖北的好友
china_friends_sum = {}
hubei_friends_sum = {}
hubei_friends = []
for f in friends:province = f.provinceif is_Chinese(province):if province in china_friends_sum:china_friends_sum[province] += 1if province == '湖北':city = f.cityprint(f.remark_name)print(f.city)hubei_friends.append(f)if city in hubei_friends_sum:hubei_friends_sum[city] += 1else:hubei_friends_sum[city] = 1else:china_friends_sum[province] = 1
# 由于微信内的城市名称不带“市”,且部分自治州也是简称,所以要进行补全,如恩施土家族苗族自治州
hubei_citys = ['黄冈市', '黄石市', '鄂州市', '武汉市', '咸宁市', '孝感市', '随州市', '天门市', '仙桃市', '荆州市', '荆门市', '潜江市', '襄阳市', '宜昌市', '十堰市','神农架林区', '恩施土家族苗族自治州']
echart_data = []
max = 0
for m in hubei_friends_sum:for city in hubei_citys:if m in city:item = (city, hubei_friends_sum[m])echart_data.append(item)if hubei_friends_sum[m] > max:max = hubei_friends_sum[m]
print(echart_data)
print(max)
print(china_friends_sum)# 绘制分布地图
def geo_guangdong() -> Geo:c = (Geo(init_opts=opts.InitOpts(theme=ThemeType.DARK)).add_schema(maptype="湖北")  # 也可以是其他省,那么对应的城市名也是需要修改的.add("", echart_data, ChartType.EFFECT_SCATTER,is_selected=True, symbol=None, symbol_size=6, color="red").set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True, max_=max, ),title_opts=opts.TitleOpts(title="微信好友湖北分布图", pos_left="300")))return cg = geo_guangdong()
g.render('微信好友湖北分布图.html')
# 用浏览器打开生成的本地网页
# webbrowser.open("微信好友湖北分布图.html")
# 分别发送祝福给对方
# 祝福语录集
wishes = ["出门戴口罩哦!勤洗手勤通风,少出门不聚集!","保持好心态、重防护、勤消毒,减少出门和聚会,保护好自己和家人。","但行好事,莫问前程,共渡难关。"]
print(len(wishes)-1)
for hf in hubei_friends:print(hf.remark_name)target = bot.search(hf.remark_name)[0]  # 这里‘’填入微信好友昵称target.send(wishes[random.randint(0, len(wishes)-1)])
# 进入Python命令行,让程序保持运行
embed()

如果你在学习Python,不妨关注点赞收藏一下!

同名公众号:程序员小小叶,关注发送“数据分析”,赠送《利用 Python 进行数据分析》(中文带书签)电子书(学习 Python 基础库最好的书。)

【微信辅助】疫情当前,python帮你找出朋友圈的武汉朋友给予关怀相关推荐

  1. python什么工作好找女朋友_程序员,三分钟教你用 Python 帮你找一个女朋友

    原标题:程序员,三分钟教你用 Python 帮你找一个女朋友 什么是单身税? 单身税的历史可以追溯到2015年韩国的新政, 低生育率逼得韩国产生了这一政策. 现在我国也要实行这一政策, 很多单身狗就接 ...

  2. 每日一道leetcode(python)1823. 找出游戏的获胜者

    每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...

  3. 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置

    微信JS接口 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 来源:http://www.cnblogs.com/txw1 ...

  4. android朋友圈发文字换行,微信朋友圈全文展开 朋友圈文字怎么换行朋友圈发多行文字...

    微信朋友圈全文展开 朋友圈文字怎么换行朋友圈发多行文字 微信朋友圈全文展开 腾讯更新微信5.2.1版本,新版本特色有两个:发朋友圈时,可以附上你所在餐馆和景点的位置和名字.具体是情况是,用户在发送朋友 ...

  5. 微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置

    微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 一.JS部分 wx.ready(function () {// 1 判 ...

  6. python找人脚本_黑科技 Python脚本帮你找出微信上删除你好友的人

    怎么利用 Python 查看被删的微信好友几种方法可以找回被删除的好友,方法也许不全,但是希望可以帮到大家. 不用群发用Python脚本查微信被哪些好友删除 Python大法已经被网友们玩儿的出神入化 ...

  7. Python脚本一键找出哪些微信好友删了你(附源码)

    查看被删的微信好友 原理就是新建群组,如果加不进来就是被删好友了(不要在群组里讲话,别人是看不见的) 用的是微信网页版的接口 查询结果可能会引起一些心理上的不适,请小心使用-(逃 还有些小问题: 结果 ...

  8. 谁偷偷删了你的微信?别慌!Python 帮你都揪出来了

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  9. RUNOOB python练习题19 找出1000以内的所有完数

    用来练手的python 练习题,原链接 : python练习实例19 题干: 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完 ...

最新文章

  1. 重磅!泰晤士发布重量级学科排名,90所中国大陆高校上榜
  2. spring mvc DispatcherServlet详解之前传---FrameworkServlet
  3. 基于Django的乐观锁与悲观锁解决订单并发问题的一点浅见
  4. c++智能指针的设计思想
  5. Android.bp 添加宏开关【转】
  6. jq修改导航栏样式(选中、使用两张图片替代的是否选中效果)
  7. Linux下c开发 之 线程通信
  8. 如何理性客观地看待人工智能热潮
  9. Windows下安装配置ant
  10. 能把汉字转化为拼音的一个函数
  11. POJ-2456.Aggressivecows.(二分求解最大化最小值)
  12. leetcode 397 整数替换
  13. matlab2c使用c++实现matlab函数系列教程-rot90函数
  14. 编程珠玑:位图法排序
  15. Vbs调用MsAgent组件,很有趣
  16. 经典中的经典算法:动态规划(详细解释,从入门到实践,逐步讲解)
  17. 微信小程序路线规划导航,选择起点和终点路线规划
  18. C语言qsort()函数用法总结
  19. 分布式高并发下,Actor模型如此优秀
  20. 用正负介子对撞产生的暗能量打开亚空间的机器

热门文章

  1. 基于神经网络的房价预测,python数据分析房价预测
  2. python中pd series_Python 数据处理(三)——pd.Series
  3. 资福医疗大圣磁控胶囊胃镜硬核出镜高交会
  4. 武魂java_ArrayLIst的使用
  5. Spring之IOC~控制反转
  6. 在 Windows 中编程 Raspberry Pi Pico 的初学者指南
  7. 软件工程实践第三次作业——结对作业(一)
  8. 免安装版mysql使用_免安装版MySql使用
  9. matlab判断系统因果性,信号与系统如何判定一离散系统的因果稳定性
  10. 19-windows10窗口关闭延迟解决