大家好,我是阿辰~

今天教大家获取采集(某度百科)的明星人物关系数据,并进行图谱可视化展示。

亮点(难点):

1.动态查询(输入任意明星名字就可以查询该明星关系人物)。

2.图谱展示(以及key-value形式)

具体介绍就不多讲了,先上效果:

可以在链接里面输入对应的明星名称就可以获取对应的人物关系图谱(还支持拖拽),比如:李易峰

1. 采集数据

在百度里面搜索:李易峰

可以在明星这栏里面看到明星关系

下面开始定位网页标签

可以看到数据是在id为slider_relations下,对应的ul下的li标签

relations = selector.xpath('//*[@id="slider_relations"]/ul/li')

获取到li标签之后,需要解析key-value,key对应关系(搭档、好友等),value对应明星名字

for i in relations:re = i.xpath('.//div[@class="name"]/text()')[0]name = i.xpath('.//div[@class="name"]/em/text()')[0]

2. 网页制作

为了将图谱结合以及可以动态查询任意明星人物关系,这里写成网站(网页)形式

通过Flask框架去编写后台,html作为前端,由于前端代码较多这里就不展示了(后面会提供源码)。

首先将采集明星人物关系的代码封装成函数。

###获取信息
def getlist(name_i):url_name = "https://baike.baidu.com/search/word?word="+str(name_i)s = requests.Session()response = s.get(url_name, headers=headers)text = response.text#此处是解析代码links = []for i in relations:re = i.xpath('.//div[@class="name"]/text()')[0]name = i.xpath('.//div[@class="name"]/em/text()')[0]print(re + "-" + name)dict = {'source': str(name_i), 'target': str(name), 'rela': str(re), 'type': 'resolved'}links.append(dict)return links

其中的name_i就是搜索的明星名字,封装好的函数名称是getlist,函数返回的数据为links

接着是Flask的路由(浏览器里面的网站访问名getdata)

#获取数据
@app.route('/getdata')
def getdata():name_i = request.args.get('name')# 采集数据links = getlist(name_i)print(links)#return Response(json.dumps(links), mimetype='application/json')return render_template('index.html', linkss=json.dumps(links))

3. 启动

if __name__ == "__main__":    """初始化"""app.run(host=''+ip, port=80,threaded=True)

这里的端口是80,ip是默认本机ip(你们运行代码访问时候,输入自己的本机ip即可)

运行py代码后,出现上述界面说明启动成功

接着在浏览器里面访问

http://127.0.0.1/getdata?name=明星名字

这里的明星名字是任意一位明星,比如:李易峰

http://127.0.0.1/getdata?name=李易峰

http://127.0.0.1/getdata?name=成龙

4. 小结

本文获取了明星人物关系动态数据,并进行了可视化展示, 源代码在下方获取。

本文完整源码和数据获取方式,在阿辰的朋友圈有完整源码下载地址

需要的小伙伴可以去逛一下阿辰的朋友圈(还没有添加阿辰微信的小伙伴,下方可以扫码添加

最后说一声:原创不易,求给个赞、在看、评论

推荐阅读

粉丝让我爬取热搜话题,结果做成了实时热搜『跑马灯』可视化

爬虫+可视化|爬取「奔跑吧」全系列嘉宾名单,并进行可视化分析

实战|用可视化方式看新闻,迅速了解最新时事热点

采集+图谱可视化|手把手教你采集明星人物关系并进行图谱展示相关推荐

  1. 手把手教你采集京东销售数据并做简单的数据分析和可视化

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 身着白衣,心有锦缎. 前言 大家好 ...

  2. 重磅!全站首发,新鲜出炉,1024特辑,手把手教你采集 高德地图 搜索结果,获取全国海底捞信息并可视化

    高德地图是我们经常用的地图软件,今天我们以海底捞为例子,取全国的海底捞搜索结果为自己用!这里的方法只用于个人采集公开数据,请不要用于商业或违法用途! 因为整个C站还没有分享这方面技术的,所以我写一篇给 ...

  3. 手把手教你搭建明星脸相似度分析系统

    之前和女朋友在微信上玩明星脸小程序,发现大多小程序的分析都不太准,偶尔有几个准的还收费,正好之前学过人脸识别,想着原理应该大同小异,就决定自己搭建一个明星脸程序. github项目地址:https:/ ...

  4. matlab用数据画热力图,Web数据可视化-手把手教你实现热力图

    热力图简介 位置数据是连接线上线下的重要信息资源,在前端借助于图形化的手段将数据有效呈现是进行数据分析的重要手段.基于此,我们开发了基于地图的数据可视化组件,以附加库的形式加入到JSAPI中,目前主要 ...

  5. 手把手教你写带登录的NodeJS爬虫+数据展示

    其实在早之前,就做过立马理财的销售额统计,只不过是用前端js写的,需要在首页的console调试面板里粘贴一段代码执行,点击这里.主要是通过定时爬取https://www.lmlc.com/s/web ...

  6. 照片模糊?辰哥手把手教你用Python让照片高清化

    大家好,我是辰哥. 相信大家也遇到过这种困扰--照片模糊(几年前的照片),拍照设备的逐年增强,对比之下几年拍的照片都模糊了. 网上一些图片高清化的平台需要收费,今天辰哥就来教大家如何让一张模糊(非高清 ...

  7. 手把手教你完成一个数据科学小项目(7):经纬度获取与BDP可视化

    前言 请先阅读"中国年轻人正带领国家走向危机",这锅背是不背? 一文,以对"手把手教你完成一个数据科学小项目"系列有个全局性的了解. 本系列代码统一开源在Git ...

  8. JS逆向 | 手把手教你某书网登陆思路解析

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 行人刁斗风沙暗,公主琵琶幽怨多. ...

  9. garch预测 python_【2019年度合辑】手把手教你用Python做股票量化分析

    引言 不知不觉,2019年已接近尾声,Python金融量化公众号也有一年零两个月.公众号自设立以来,专注于分享Python在金融量化领域的应用,发布了四十余篇原创文章,超过两万人关注.这一路走来,有过 ...

最新文章

  1. 设计一个扩展自抽象类geometricobject的新的triangle类_C++ 接口(抽象类)
  2. 交换机和路由器各自的实现原理
  3. oracle PL/SQL
  4. Android NDK调试定位错误
  5. WEB前端学习二 JS作用域和作用域链
  6. 使用.NET Core创建Windows服务(二) - 使用Topshelf方式
  7. HT中特殊字符φ的显示问题
  8. window ftp open命令打不开_Centos7上搭建ftp
  9. 当identity_insert 设置为off时不能为表_最近新get日志测试方法,再也不用为故障响应慢发愁!...
  10. Mantis1.2.19 在Windows 平台上的安装配置详解
  11. 360极速浏览器html手机版,360极速浏览器模拟手机
  12. 涉及第三方支付接口,怎么测?
  13. Verilog语言入门学习(1)
  14. linux系统怎样将图片导出,Linux 下 将PDF文件中的文本,图片导出的方法。
  15. 再添荣誉!青软集团获评「山东省科技小巨人企业」称号
  16. Poco库使用:任务管理器TaskManager
  17. excel多条件筛选公式
  18. 挂耳式蓝牙耳机性价比推荐,几款高性能的耳机分享
  19. 什么是DOM(个人理解)
  20. 音频数据格式:PCM,WAV,MIDI

热门文章

  1. 2023南京师范大学中国美术史考研复习经验分享
  2. 三个设计法为手提袋设计赋予创造力
  3. awg线径与电流_28AWG号线电流多大
  4. MySql Installer 8.0.18可视化安装教程
  5. c语言 大数开方,大数加法之C语言函数法(只有正数版)
  6. 立创DEA 使用技巧
  7. 查找JAVA源代码的步骤介绍
  8. 6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左、右子树和B2的左、右子树分别相似, 则称二叉树B1和B2相似。试编写算法,判别给定两 棵二叉树是否相似。
  9. egg koa 中间件执行原理,洋葱模型原理
  10. STM32常用协议之SPI协议详解