爬虫数据到简单的可视化

你是否:

  1. 爬虫获取到的动态变化的数据,没有可视化的监控
  2. 动态数据需要加工分析后的结果分享给团队里的小伙伴

说人话版(以微信接口为例):

微信运营的同事:“老王,提个需要啊,希望能每天早上9点更新一下微信的昨日数据,最好能够有几个竞品的传播数据,我们早会的时候讨论用。”
老王:“噢,那传播数据是指什么啊?”
微信运营的同事:“我想想,比如分文章位置的阅读量,点赞量啊,再计算一下本月累计值吧,看看我们这个月完成目标还差多少……”
老王:“能不能再具体点?或者给出计算公式bla~ bla~”
微信运营的同事:“恩,要不你先用这一两个试试。我们先用用看”
老王:“好吧,那你们大概什么时候要?”
微信运营的同事:“今天,反正尽快吧”
老王:“ok,那我明白了”

这个需求在工作中还是很常见 分析师需要将数据按照需求方的可能的需求整理好,并且用一种易于使用可探索数据的方法展示出来。

下面我们就来拆解一下吧 [^ _^]

  • 定时任务完成抓取、清洗,数据入库(mongo)
  • 定时python 清洗数据,更新mysql
  • 制作tableau使用模板
  • 使用模板跟踪数据,持续优化

注意事项

  1. 区分mongo 和mysql的读写账号(建议给mysql一个单独爬虫更新账号)
  2. 清洗完数据之后写入mysql,选择全部重新写入还是更新

主要流程

  • 从mongoDB取数
  • 更新mysql
from sqlalchemy import create_engine
engine=create_engine("mysql+pymysql://【mysql的爬虫专用更新账号】:【账号密码】@【服务器地址】:【端口号】/【DB名称】") 
# 删除--mysql表【需要给删表操作一些时间】
cur = engine.execute(
	"DROP TABLE【表名】"
)
time.sleep(10)

# 更新--mysql表(DataFrame数据量少还好,要是多的话不建议这么做)
jijing_data.to_sql("jijing_data",engine,index=True)

# 读取--mysql看
#查询语句例如:'''select 【列名】from 【表名】;'''   【注意符号】
df = pd.read_sql_query(【sql查询语句】, engine)

  • 完成tableau模板,给自己的仪表盘监控数据更新异常
  • 完成定时任务的添加
  • 按照运营同事的需求调整tableau(沟通不断迭代)

总结

  1. engine的确定需要5个要素
  2. python操作的读写更新删除
    要不是mongo对json支持的好,要不是tableau连mongo太麻烦我才不会这么折腾呢,希望有更好的解决方案
    可以参考下试试
    python中pymysql模块操作与使用
    利用python 实现快速插入300万行数据
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值