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

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

大家好,我是阿辰~

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

亮点(难点):

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]

  1. 网页制作

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

通过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))
  1. 启动

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=成龙

  1. 小结

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

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

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

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

推荐阅读

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

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

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

相关文章
|
数据采集 分布式计算 编译器
利用Pholcus框架提取小红书数据的案例分析
利用Pholcus框架提取小红书数据的案例分析
|
5月前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
4月前
|
文字识别 算法 数据挖掘
视觉智能开放平台产品使用合集之对于统计研究和数据分析,有哪些比较好的工具推荐
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
1天前
|
机器学习/深度学习 数据采集 消息中间件
使用Python实现智能火山活动监测模型
使用Python实现智能火山活动监测模型
11 1
|
2月前
PPT 动态迷幻图谱
PPT 动态迷幻图谱
26 1
|
3月前
|
存储 人工智能 自然语言处理
多模态RAG:三步构建图文并茂的智能问答、电商导购助手
本文介绍了如何使用OpenSearch LLM智能问答版,三步搭建一站式多模态RAG系统。
943 9
|
存储 数据采集 自然语言处理
知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等
知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等
知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等
|
存储 人工智能 数据可视化
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
|
数据可视化 大数据 关系型数据库
百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(2)雷达图表格梯次排列互动篇
百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(2)雷达图表格梯次排列互动篇
87 0
|
监控 搜索推荐 数据可视化
漏刻有时垃圾分类回收数据可视化大屏监控源代码百度地图标注及地图个性化处理方案
漏刻有时垃圾分类回收数据可视化大屏监控源代码百度地图标注及地图个性化处理方案
105 0