【程序媛晒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

相关文章
|
9天前
|
数据采集 NoSQL 搜索推荐
五一假期畅游指南:Python技术构建的热门景点分析系统解读
五一假期畅游指南:Python技术构建的热门景点分析系统解读
|
算法 程序员 Python
端午抗疫宣传公益小游戏-用Python为粽子宝宝戴口罩
由于新冠疫情影响,为避免户外威胁,我选择了居家以程序员的方式纪念这个端午。 虽然气温较高,疫情也得到了有效的控制,但为了他人和自身的身体健康,仍然需要在人流密集的公共场所佩戴好口罩😷。 由此,我以**为粽子宝宝戴口罩**😷为主题,花费4个小时(构思,素材收集,编码, 记录),制作了一个公益小游戏。科普防疫戴口罩。纪念这个端午!
165 0
端午抗疫宣传公益小游戏-用Python为粽子宝宝戴口罩
|
数据采集 机器学习/深度学习 自然语言处理
瑞士小哥开源文本英雄Texthero:一行代码完成数据预处理,网友:早用早下班!
自然语言处理任务的数据通常是杂乱无章的,而文本预处理要消耗大量的时间和精力。近日,GitHub上开源了一个NLP工具箱Texthero,不仅功能完善一个pipeline完成所有操作,速度还超快堪比SpaCy,一起来尝鲜吧!
150 0
瑞士小哥开源文本英雄Texthero:一行代码完成数据预处理,网友:早用早下班!
|
人工智能 算法 容灾
喜迎女神节 高颜值支付宝程序媛的硬核人生
桃之夭夭,灼灼其华,在疫情渐退的三月,我们迎来第110个“女神节”——“三八”国际妇女节。 
557 0
|
自然语言处理 机器人
减肥?脱单?变更好?阿里这个机器人很“励志”!
给你们一个“励志”的机器人,好不??
1351 0
我被阿里云美女清宵的观后感给撩了
这是她看完药神之后的观后感,看到chanel的声明,就吸引我一直把它读完。 package main import ( "fmt" "math/rand" "sync" "time" ) var ( r = rand.
1553 0
|
机器学习/深度学习 人工智能 算法
算法音乐往事:二次元女神“初音未来”诞生记
音乐的诞生甚至早于语言,人类对于音乐的探索却从未停止。从最初的“音乐骰子”到如今火遍二次元的宅男女神“初音未来”,算法与音乐之间的故事,才刚刚开始。
2185 0