Python爬虫 微信好友分析与自动回复

Python爬虫

项目环境

1.运行平台:Windows

2.Python版本:Python3.6

3.IDE:Sublime Text3

项目知识点

1.python爬虫的基本知识

2.一些可视化工具的使用(pyecharts)

3.python图片工具PIL库的使用

4.自然语言处理工具包结巴分词的使用

5.微信网页api工具itchat的使用

项目的功能

1.统计好友的性别,并在扇形图中表示

2.统计好友的昵称,并做成词云显示

3.统计好友个性签名中的高频词汇,并做成词云显示

4.统计好友的地域分布,并且可视化在地图上展示

5.微信自动回复消息功能(图灵机器人)

功能展示

01统计好友性别

以上就是我的微信好友啦,一共有229人,其中男性占据60%多,女性占据36%左右,其他这类人表示的是未填写性别信息的好友。

代码实现

#统计性别饼状图
def get_pie(item_name,item_name_list,item_num_list):

    #计算好友总数
    totle = item_num_list[0]+item_num_list[1]+item_num_list[2]
    subtitle = "共有:%d个好友"%totle

    #构造实例
    pie = Pie(item_name,page_title = item_name,title_text_size=30,title_pos='center',\
        subtitle = subtitle,subtitle_text_size = 25,width=800,height= 800)
    
    #添加数据
    pie.add("", item_name_list, item_num_list,is_label_show=True,center=[50, 45],radius=[0,50],\
        legend_pos ='left',legend_orient='vertical',label_text_size=20)

    #文件输出地址与文件名
    out_file_name = './analyse/'+item_name+'.html'

    #生成HTML文件
    pie.render(out_file_name)





02统计好友地域分布

微信好友都集中在广东地区,因为本人在广东生活,在广东上上大学中,所有这里的统计数据就不怎么好。

代码实现

#统计地域分布条形图
def get_bar(item_name,item_name_list,item_num_list):
   
   #构造实例
    bar = Bar(item_name,page_title = item_name,title_text_size=30,title_pos='center')
    
    #添加数据
    bar.add("", item_name_list, item_num_list,title_pos='center', xaxis_interval=0,xaxis_rotate=27,\
        xaxis_label_textsize = 20,yaxis_label_textsize = 20,yaxis_name_pos='end',yaxis_pos = "%50")
    bar.show_config()

    grid = Grid(width=1300,height= 800)
    grid.add(bar,grid_top = "13%",grid_bottom = "23%",grid_left = "15%",grid_right = "15%")

    #文件输出地址与文件名
    out_file_name = './analyse/'+item_name+'.html'

    #生成HTML文件
    grid.render(out_file_name)

03好友地域分布可视化

这里我也有点无奈,基本所有好友都在广东,所有这里的可视化并不怎么明显。如果大家有兴趣,可以试试可视化在一个省区,这样看到是好友分布在各个市区,效果可能好一点。

代码实现

#地图可视化
def get_map(item_name,item_name_list,item_num_list):
 
    #构造实例
    _map = Map(item_name,width=1300,height= 800,title_pos='center',title_text_size=30)

    #添加数据
    _map.add("", item_name_list, item_num_list, maptype='china', is_visualmap=True, visual_text_color='#000')
    
    #文件输出地址与文件名
    out_file_name = './analyse/'+item_name+'.html'

    #生成HTML文件
    _map.render(out_file_name)
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值