【程序媛晒83行代码】素颜女神,轻松分析用户画像

简介: 坤0830小姐姐的第83行代码来自一段爬取指定用户评论区的粉丝信息然后分析并画出用户画像的项目,很好玩。

在中国程序媛中,他们的代码有什么样的魅力,Aone联合云栖社区、饿了么、钉钉、阿里云、天猫、口碑发起首届程序媛比码活动——不秀大长腿,秀高智商;不秀美图照,秀代码图,参与晒码互动游戏赢“83行代码”T恤!

我们来说说这群女工程师的第83行代码及代码背后的故事:

我是交通银行的前端女工程师,
我的第83行代码来自一段爬取指定用户评论区的粉丝信息然后分析并画出用户画像的项目,很好玩。

导入所需库
import json
import time
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
import squarify
import requests
from matplotlib.patches import Polygon
from mpl_toolkits.basemap import Basemap
from matplotlib.collections import PatchCollection

获取每条微博评论的url参数
def get_comment_parameter():

url = 'https://m.weibo.cn/api/container/getIndex?uid=1773294041&luicode=10000011&lfid=100103type%3D1%26q%3D%E7%8E%8B%E8%8F%8A&\
       featurecode=20000320&type=uid&value=1773294041&containerid=1076031773294041'

c_r = requests.get(url)

for i in range(2,11):
    c_parameter = (json.loads(c_r.text)["data"]["cards"][i]["mblog"]["id"])
    comment_parameter.append(c_parameter)
return comment_parameter

if name == "__main__":

comment_parameter = []#用来存放微博url参数
comment_url = []#用来存放微博url
user_id = []#用来存放user_id
comment = []#用来存放评论
containerid = []#用来存放containerid
feature = []#用来存放用户信息
id_lose = []#用来存放访问不成功的user_id

get_comment_parameter()

#获取每条微博评论url
c_url_base = 'https://m.weibo.cn/api/comments/show?id='
for parameter in comment_parameter:
    for page in range(1,101):#提前知道每条微博只可抓取前100页评论
        c_url = c_url_base + str(parameter) + "&page=" + str(page)
        comment_url.append(c_url)

#获取每个url下的user_id以及评论
for url in comment_url:
    u_c_r = requests.get(url)
    try:
        for m in range(0,9):#提前知道每个url会包含9条用户信息
            one_id = json.loads(u_c_r.text)["data"]["data"][m]["user"]["id"]
            user_id.append(one_id)
            one_comment = json.loads(u_c_r.text)["data"]["data"][m]["text"]
            comment.append(one_comment)
    except:
        pass
    

#获取每个user对应的containerid
user_base_url = "https://m.weibo.cn/api/container/getIndex?type=uid&value="
for id in set(user_id):#需要对user_id去重
    containerid_url = user_base_url + str(id)
    try:
        con_r = requests.get(containerid_url)
        one_containerid = json.loads(con_r.text)["data"]['tabsInfo']['tabs'][0]["containerid"]
        containerid.append(one_containerid)
    except:
        containerid.append(0)
        
#获取每个user_id对应的基本信息
#这里需要设置cookie和headers模拟请求
user_agent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
headers = {"User-Agent":user_agent}
m = 1
for num in zip(user_id,containerid):
    url = "https://m.weibo.cn/api/container/getIndex?uid="+str(num[0])+"&luicode=10000011&lfid=100103type%3D1%26q%3D&featurecode=20000320&type=uid&value="+str(num[0])+"&containerid="+str(num[1])
    try:
        r = requests.get(url,headers = headers,cookies = cookie)
        feature.append(json.loads(r.text)["data"]["cards"][1]["card_group"][1]["item_content"].split("  "))
        print("成功第{}条".format(m))
        m = m + 1
        time.sleep(1)
    except:
        id_lose.append(num[0])

#将featrue建立成DataFrame结构便于后续分析
user_info = pd.DataFrame(feature,columns = ["性别","年龄","星座","国家城市"])

工作两年,不喜欢化妆,已有男朋友,哈哈~
b32c21ae0919dd1045871914cd7525416f86d0ba

与坤0830小姐姐互动,为她打call——>点击进去晒码


更多小姐姐,点击进入查看代码

有被代码耽误的钉钉吃货程序媛,写代码写到忘记吃饭的——采霜
她急需能把她从代码中叫醒去吃饭的小伙伴,赶紧勾搭;
http://yq.aliyun.com/roundtable/126499/answer/170319#visit170319


有以代码为乐的饿了么大前端打(bei)杂(guo)工程师——敖天羽
http://yq.aliyun.com/roundtable/126499/answer/170299#visit170299


还有全栈美女工程师——前端后端一锅端的——墨瑜女神
http://yq.aliyun.com/roundtable/126499/answer/170316#visit170316


还有阿里云活好码赞,像男人一样活着的技术专家小姐姐——清宵http://yq.aliyun.com/roundtable/126499/answer/170296#visit170296


和天猫Java程序媛,happy(被)来(逼)的——采月
http://yq.aliyun.com/roundtable/126499/answer/170354#visit170354


阿里口碑 搜索推荐组的JAVA女工程师——妍霏
http://yq.aliyun.com/roundtable/126499/answer/214059#visit214059


阿里口碑基础平台技术部的工程师-衔远,一个技术与马甲线并存的mm
http://yq.aliyun.com/roundtable/126499/answer/248798#visit248798

云栖社区聚能聊专家,具有知性温婉气质的——海洋的云http://yq.aliyun.com/roundtable/126499/answer/170290#visit170290

福州市五佰网络科技有限公司的Java女工程师——江小白太白
http://yq.aliyun.com/roundtable/126499/answer/189332#visit189332


在下*的程序媛——cn_suqingnian
http://yq.aliyun.com/roundtable/126499/answer/170309#visit170309


交通银行的前端女工程师——昆0830
http://yq.aliyun.com/roundtable/126499/answer/201979#visit201979

相关文章
|
5月前
|
数据采集 NoSQL 搜索推荐
五一假期畅游指南:Python技术构建的热门景点分析系统解读
五一假期畅游指南:Python技术构建的热门景点分析系统解读
阿云漫画 | 被KPI追杀的日子...
编者按: 上学时,有分数线来考核我们,工作后,有KPI来考核我们。那么,如果我们的人生也如KPI般,你的幸福指数又是多少呢?
115 0
|
人工智能 运维 算法
“开盖有奖”背后的攻防战:我卧底进500个黑产群、捡了3000个瓶盖
没想到,“开盖有奖”的活动被黑灰产、羊毛党们盯上了,不止一名消费者在网上发起投诉。
449 0
“开盖有奖”背后的攻防战:我卧底进500个黑产群、捡了3000个瓶盖
|
数据采集 机器学习/深度学习 自然语言处理
瑞士小哥开源文本英雄Texthero:一行代码完成数据预处理,网友:早用早下班!
自然语言处理任务的数据通常是杂乱无章的,而文本预处理要消耗大量的时间和精力。近日,GitHub上开源了一个NLP工具箱Texthero,不仅功能完善一个pipeline完成所有操作,速度还超快堪比SpaCy,一起来尝鲜吧!
181 0
瑞士小哥开源文本英雄Texthero:一行代码完成数据预处理,网友:早用早下班!
|
人工智能 移动开发 自然语言处理
失独妈妈求助阿里:将逝去女儿做成AI,3个月后重现女儿声音
失独妈妈求助阿里:将逝去女儿做成AI,3个月后重现女儿声音
392 0
|
人工智能 算法 容灾
喜迎女神节 高颜值支付宝程序媛的硬核人生
桃之夭夭,灼灼其华,在疫情渐退的三月,我们迎来第110个“女神节”——“三八”国际妇女节。 
589 0
|
机器学习/深度学习 数据采集 自然语言处理
商品评价里藏了一座“宝藏”,阿里工程师如何挖掘?
小叽导读:买家评价是消费者购物后对商品的真实反馈。多数买家评价中包含了“消费者常问问题”的回答。比如冰箱,大家可能关心“声音大吗?”、“耗电吗?”、“容量大不大?”,这些问题通常可以在评论区找到其他消费者的使用反馈。这部分信息能够有效地帮助消费者购买到心仪的产品,那么,如何让这些评论匹配到不同人的需求?接下来, 天猫的“大家最关心”告诉你答案。
1409 0
商品评价里藏了一座“宝藏”,阿里工程师如何挖掘?
【三生三世三月八,快给女神送鲜花!】3.8女神节特别活动
阿里巴巴创新中心携手创头条、优客工场、Flowerplus等 为您和您的她送上女神花束。
2911 0
|
自然语言处理 机器人
减肥?脱单?变更好?阿里这个机器人很“励志”!
给你们一个“励志”的机器人,好不??
1440 0
下一篇
无影云桌面