工作之余在学习python,笔者主流语言是php,初学抓取了近来一个星期的脉脉职言区的帖子,现将过程记录如下。

脉脉是一款职场社交软件,大家会在职言区,也就是之前的匿名区去吐槽,但是帖子是登录之后才能看,所以第一步需要python模拟登录

模拟登录

首先在网页上登录,打开开发者工具,会看到一个gossip_list连接,这个就是列表的接口了,参数需要如下

是的,右边的参数就是我们获取数据的时候需要的参数了,cookie信息放在header头里模拟浏览器登录信息,把参数拼接好,去访问,能正常返回数据,如下图:

这样就拿到了数据结构了,然后写获取URL的方法,拼接URL,代码如下

def geturl(page):url = 'https://maimai.cn/sdk/web/gossip_list?'params = {'u':'****','channel':'www','version':'4.0.0','_csrf':'*****','access_token':'*****','uid':'*****','token':'*****','page':page,'jsononly':'1'}for item in params:url = url + item + '='+ params[item] + "&"url = url[:-1]return url;

获取了URL之后,根据已经拿到的cookie去拿取数据,代码如下:

def getGossipList():headers={'Accept':'text/html,application/shtml+xml,application/xml','Accept-Encoding':'gzip, deflate, br','Accept-language':'zh-CN,zh;q=0.9','Connection':"keep-alive",'Host':'maimai.cn','User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36','cookie':'******,'referer':'https://maimai.cn/gossip_list'}i = 0while (i<200):url = geturl(str(i));r = requests.get(url,timeout=10,headers=headers)if r=='': returndata=r.json()['data']for item in data:saveData(item)i = i+1

存取数据

把拿到的数据存入sqlite,一般Mac或者Linux都自带,存取下来供后续分析,代码如下:

def saveData(item):related_tags = ''conn = sqlite3.connect('/Users/kumufengchun/maimai.db')cursor = conn.cursor()for tag in related_tags:print(tag)sys.exit()related_tags += tag['name'] + ','ins = "insert into gossip values(null,?,?,?,?,?,?)"v=(item['text'] if(item.has_key('text')) else '',item['author'] if(item.has_key('author')) else '',item['name'] if(item.has_key('name')) else '',item['avatar'] if(item.has_key('avatar')) else '',related_tags,item['time'] if(item.has_key('time')) else '')cursor.execute(ins, v)conn.commit()conn.close()

数据分析

数据存取下来了,就可以分析了,每个岗位发贴数量,用tableau简单的作图表如下图:

制作云图

想了解大家都在聊啥,用jieba分词先把帖子内容分词,然后在用wordcloud作云图,代码如下:

def makeYuntu():conn = sqlite3.connect('/Users/kumufengchun/maimai.db')c = conn.cursor()cursor = c.execute("select text from gossip")f = ''for row in cursor:text = jieba.cut(row[0], cut_all=False)f +=" ".join(text)wordcloud = WordCloud(font_path="Deng.ttf",background_color="white",width=1920,height=1080,margin=2).generate_from_text(f);plt.imshow(wordcloud)plt.axis("off")plt.show()wordcloud.to_file('maimai.png')conn.close()

制作的云图如下所示

好了,第一次抓取数据的尝试就到这了。

关于模拟浏览器登录的有很多方法参考文档:https://www.cnblogs.com/chenxiaohan/p/7654667.html

关于sqlite的学习使用:http://www.runoob.com/sqlite/sqlite-python.html

关于python的使用:http://www.runoob.com/python3/python3-if-example.html

关于wordcloud的学习:https://blog.csdn.net/cy776719526/article/details/80171790

           https://www.cnblogs.com/jlutiger/p/9176517.html

关于jieba的学习:https://blog.csdn.net/linzch3/article/details/71253541

参考爱奇艺的爬取数据:https://blog.csdn.net/csdnnews/article/details/84781953

转载于:https://www.cnblogs.com/kumufengchun/p/10108467.html

职场社交软件脉脉职言区最近一个星期在聊什么?相关推荐

  1. 职场社交:做职场版微信不如做职场版微博

    2015年是移动互联网爆发的一年,越来越多的创业者选择了APP这条道路,最终成功突围而出的APP往往在国外已有先例.然而职场社交却是个例外,虽然领英在国外市场极为成功,但国内市场的职场社交软件一直处于 ...

  2. 让靠谱的人推荐靠谱的人:基于关系链计算的职场社交应用“脉脉”,上线“好友推荐候选人”功能

    发个悬赏.让众人转发一下职位信息.等待猎头推荐候选人上门.达成交易再给猎头一笔报酬--这就是"社会化招聘"了么?总觉得还欠点什么. 至少个人看来,这样的招聘模式只是单纯的" ...

  3. 职场社交赛道上唯一的幸存者,脉脉做对了什么?

    上周有两条消息刷爆了互联网圈,一条是共享单车第二梯队的小蓝车被爆已经宣布解散,另一条则是成立四年的职场社交平台脉脉宣布完成了7500万美元C轮融资. 可能很少有人注意到这两条消息之间隐秘的关联:小蓝单 ...

  4. 脉脉用户月活千万,能带动中国职场社交崛起吗?

    说起"脉脉",很多人的第一反应是最近风头正盛的陌生人社交平台"陌陌",进一步提及人脉,人们才反应过来是"脉脉". 在国内的职场社交领域,成立 ...

  5. 职场社交方向私密研究(脉脉、linkedin、会会…)| 北京活动

    Hi 咖友们: 我们回归到产品本身来探讨产品,抛开年龄.抛开职位.抛开资历...只要你对本期产品/话题有充分的思考和独到的见解,就可以加入我们,找个安静的咖啡馆,一起深入交流.互相探讨. 我们这里不仅 ...

  6. 职场社交赛道上,脉脉靠什么弯道超车

    当我们判断一个社交平台的影响力时,一个重要的指标就是热点事件输出能力,微博.知乎.豆瓣等莫不如此.随着越来越多的公司职员将脉脉作为发声阵地,它正在成为"职场内幕"的源发地.&quo ...

  7. 脉脉林凡:职场社交突破点在于行业间的融合

    与最初地铁广告大覆盖的动作不同,脉脉近来显得有些低调. "我们没有把太大精力放在营销推广上,而是重新聚焦在产品,花大力气建立平台上行业之间的联系." 脉脉CEO林凡向TechWeb ...

  8. 脉脉有钱不任性,强势角逐职场社交

    随着春节假期的结束,返乡大军陆续返回工作岗位,互联网从业者也不例外.与此同时,职场吐槽.八卦.爆料.招聘等日常行为再度火爆起来,尤其在开放.包容.流动性较强的互联网行业,更是刮起了一股猛烈的职场社交春 ...

  9. 职场社交是一个真需求吗?

    1.职场社交是一个真实的用户需求吗? 我们先自问自答一个问题:所谓的职场社交,是在解决什么人,什么问题? (1).什么人? 职场人士,有下面几个维度:行业,职业类型,工作经验,年收人.每个维度,对应的 ...

最新文章

  1. ubuntu 16.04 更新后搜狗输入法无法输入中文的问题
  2. 华为新系统鸿蒙升级平板名单,华为鸿蒙系统升级名单正式确认!全面替换安卓:流畅度比肩iOS...
  3. 自学python当黑客-为什么黑客都用Python
  4. sqlplus command
  5. 程序员必备的代码审查(Code Review)清单
  6. R-CNN , Fast R-CNN , Faster R-CNN原理及区别
  7. 【渝粤教育】国家开放大学2018年秋季 3950T金融基础 参考试题
  8. 栈计算机术语,计算机数据结构词汇中英对照
  9. 启动activity的标准的action常量及对应的字符串
  10. 磁盘管理之逻辑卷管理(Logical Volume Manager)
  11. python如何定位路径_selenium_webdriver(python)查看文件路径,鼠标定位
  12. 【硬件解码系列】之DXVA2
  13. 王者服务器延迟高,王者荣耀延迟高卡住不动怎么办 卡顿的解决方法汇总
  14. 螺旋传动设计系统lisp_[罗升机电]第236期 丝杆升降机系统工程之齿轮传动的设计!...
  15. asp.net 安装element ui_vue结合element-ui开发项目 一学就会
  16. 神经网络权重是什么意思,bp神经网络怎么看结果
  17. 蓝牙mesh中的TTL解读
  18. java定时器整点报时_单片机 整点报时 定时小闹钟程序
  19. 2022年Q3过去了,平常心最重要
  20. 编辑距离WER/CER计算的一种python实现

热门文章

  1. MaxCompute分区和列操作
  2. XBee zigbee 使用指南---XBee 透传模式介绍
  3. Python爬虫帮你抢秒杀
  4. 冯山C语言第六章作业答案,C语言四川师范大学信息与计算科学冯山实验九课案.docx...
  5. 蓝桥杯软件组如何混进省一
  6. 迅雷看看播放器4.9.15.2156 如何观看超过5分钟以上的视频?
  7. 年终工作总结ppt模板怎么做? 工作总结ppt制作的方法
  8. windows电脑微信双开 bat 脚本
  9. Win10 补丁更新后 VMware 提示升级但仍打不开如何解决
  10. Goslate: Free Google Translate API