一种获取特定话题微博中PCU关联数据的方法技术

技术编号:20291547 阅读:51 留言:0更新日期:2019-02-10 22:34
本发明专利技术公开了一种从微博中获取PCU关联数据的方法,解决现有技术不能获取有关联的微博帖子、评论、发帖人的技术缺陷,该方法包括:(1)数据访问权限取得,通过分析登录页面HTML标签,自动填写身份验证信息,取得数据访问权限;(2)PCU关联数据页面下载,依据微博页面的HTML结构及标签语义,以PCU数据的逻辑关系为指导,自动有序下载含有PCU关联数据的页面;(3)PCU关联数据结构化解析与构建,融合帖子关系、用户好友关系、用户帖子关系构建一个异质网络,即PCU关联数据网络。本发明专利技术能够自动获取新浪微博中的PCU关联数据,并构建结构化的关联数据网络,为后续的社交网络挖掘提供良好的数据集。

A Method of Obtaining PCU Associated Data in Special Topic Microblog

The invention discloses a method for obtaining PCU related data from micro-blog, which solves the technical defects of existing technology that can not obtain related micro-blog posts, comments and posters. The method includes: (1) acquiring data access rights, automatically filling in authentication information by analyzing HTML tags of login pages, and obtaining data access rights; (2) downloading PCU related data pages according to micro-blog. The HTML structure and tag semantics of blog pages, guided by the logical relationship of PCU data, automatically download pages containing PCU related data in an orderly manner; (3) Structured parsing and construction of PCU related data, building a heterogeneous network by integrating post relationship, user friend relationship and user post relationship, that is, PCU related data network. The invention can automatically acquire PCU related data in Sina Weibo and construct a structured association data network, providing good data sets for subsequent social network mining.

【技术实现步骤摘要】
一种获取特定话题微博中PCU关联数据的方法
本专利技术属于计算机社交网络数据获取技术,具体涉及一种自动获取微博中特定话题PCU关联数据的方法。
技术介绍
互联网和Web2.0促使社交网络的迅猛发展,社交网络的用户量大、数据产生快速,日益积累的数据及其复杂的关联结构使得信息的获取和理解越来越困难。在中国影响力最大的社交网络站点新浪微博中,含有大量潜在价值的信息,研究这些信息的重要方面是分析新浪微博中特定话题的帖子、帖子评论、发帖用户,这些数据散落在不同的页面中,造成人们无法从大量页面中迅速而准确地找到或理解这些有用的信息。这些数据内在的关联结构中蕴藏着大量的有价值的信息,因而需要自动化的抽取方法从这些数据中获取结构较好的数据信息,并进行融合最终形成适应社交网络数据挖掘的新浪微博PCU关联数据。申请人经过查新,没有找到有关从新浪微博中获取PCU关联数据的专利,因而检索了一篇与本专利相关的已授权专利:1.基于社会标注的主题爬虫系统[专利号:ZL200910062020.0];在专利1中,系统充分利用了网页的社会标注进行网页相关性的判断,指导爬虫的爬行方向,对主题搜索引擎提供优质的网页数据内容。专利专利技术所述方法主要解决了网页爬虫的爬行方向,且依赖社会标注形成的知识库,但是该方法无法形成获取内容之间的关联关系,无法适应社交网络天然的复杂关联性,因而无法对社交网络数据进行有效得组织。
技术实现思路
本专利技术提出了一种新的数据获取策略,目的是提供一种自动获取微博中特定话题的PCU关联数据的方法,以非结构化数据中元素间逻辑上的关联关系指导数据获取路径,自动构建结构化数据集来描述元素及其关联关系,从而为进一步的数据分析和知识挖掘提供数据基础,具有元素关联度高、元素关系结构化强、获取效率高的特点。为达到上述目的,本专利技术是采取如下技术方案予以实现的:一种从微博中特定话题获取PCU关联数据的方法,包括如下过程:(1)数据访问权限获取:通过分析获取到页面的HTML,识别出用户名和密码的提交标签,自动化填写并提交登录身份验证请求,完成模拟用户登录的过程。(2)PCU关联数据页面下载:分析微博页面的HTML结构,得到该页面上每条帖子的帖子内容P、帖子评论C、发帖人U这三类实体的关联入口,然后通过上述三类实体的关联入口,同步获得帖子内容、帖子评论以及发帖人好友关系的HTML页面。(3)PCU关联数据的结构化解析与构建:对得到的三类关联实体的HTML页面进行分层分类解析,依据关联实体间的隶属、共现关系,构建异质网络G=(P,C,U,f,g,h)。过程(1)所述数据访问权限获取按照如下过程:第1步:通过selenium启动IE9浏览器,自动进入新浪微博登陆主页http://www.weibo.com/login.php,定位输入帐户和密码的HTML标签&lt;inputname="username"&gt;和&lt;inputname="password"&gt;;第2步:根据第1步定位的标签,利用selenium自动填写已经注册成功的用户名和密码;第3步:根据登录页面是否含有HTML标签&lt;tablename="verifycode"&gt;,判断是否需要输入验证码;第4步:若有验证码输入标签,采用字符提取技术获取验证码,对于采用该技术失效的情况,采取人工识别并手工输入的方法;第5步:通过selenium定位到登陆标签&lt;aclass="W_btn_g"&gt;,自动触发该标签完成数据访问权限获取。过程(2)所述PCU关联数据页面下载的步骤为:第1步:进入微博搜索页面http://s.weibo.com/,选择“综合”搜索查询接口,同时初始化帖子链接队列池Urlp、用户链接队列池Urlu、评论链接队列池Urlc、好友关系列表链接队列池Urlf、帖子页面库Pagesp、用户页面库Pagesu、评论页面库Pagesc、好友关系页面库Pagesf为空;第2步:将特定话题关键词自动填入搜索框&lt;inputtype="text"&gt;中,自动触发提交“搜索”按钮&lt;inputtype="text"class="searchInp_form"&gt;。通过selenium的变量current_url获取此关键词搜索页面的链接urlp并存入Urlp;第3步:从Urlp中逐一取出urlp,用selenium的get(url)函数获取相应的页面,用selenim的变量page_source提取页面源码Sp,并存入页面库Pagesp;第4步:检测用户URL队列池Urlu、评论URL队列池Urlc和好友关系链接队列池Urlf是否为空,若为空,则转到过程(3)的第1步;若不为空,从中依次取出帖子的用户链接urlu及评论链接urlc,启用三个线程分别下载用户页面Su、评论页面Sc和Sf,存入用户页面库Pagesu、评论页面库Pagesc及好友关系页面库Pagesf中,转入过程(3)的第5步。过程(3)所述PCU关联数据的结构化解析,按照如下步骤:第1步:逐一从Pagesp取出Sp,利用Beautifulsoup定位标签&lt;divclass="WB_cardwrapS_bg2clearfix"&gt;,解析出Post页面上所有的帖子,针对每个帖子解析出必要字段,包括帖子id(post_id)、发帖用户名(poster)、发帖用户id(user_id)、发帖用户头像、发帖用户主页链接urlu、发帖内容、发帖时间、评论数、转发数;第2步:将上一步解析得到的发帖用户主页链接urlu,模式为http://weibo.com/u/&lt;user_id&gt;,放入用户链接队列池Urlu;第3步:通过利用帖子id和通过firebug截获的帖子评论响应地址拼凑得到评论链接urlc,模式为http://weibo.com/aj/v6/comment/big?ajwvr=6&id=<post_id>&page=&lt;num&gt;,放入评论链接队列池Urlc;第4步:通过发帖人user_id,得到好友关系链接urlf,模式为http://weibo.com/p/100505&lt;user_id&gt;/follow?page=&lt;num&gt;以及http://weibo.com/p/100505&lt;user_id&gt;/follow?relate=fans&page=<num>;第5步:检测Pagesu、Pagesc、Pagesf是否为空,若为空,则进入过程(2)的第4步;若不为空,逐一从Pagesu中取出Su,利用Beautifulsoup解析出用户信息有关字段,包括用户id、用户名、关注数、粉丝数、个人签名、个人信息;逐一从Pagesc中取出Sc,利用Beautifulsoup解析出帖子评论有关字段,包括评论人名、评论人id、评论内容、评论时间,完成一组PCU数据的获取;逐一从Pagesf中取出S本文档来自技高网...

【技术保护点】
1.一种获取微博中特定话题PCU关联数据的方法,其特征在于:以新浪微博中元素间的逻辑关联关系为指导,自动有序地获取由帖子内容、帖子评论以及发帖用户所形成的PCU关联数据,表示为异质网络:G=(P,C,U,f,g,h)其中P、C与U分别代表帖子、帖子评论与发帖用户,f代表帖子与帖子评论的交互关系,g代表用户之间的好友关系,h代表用户和帖子、帖子评论之间的隶属关系;该方法包含:数据访问权限获取、PCU关联数据页面下载与PCU关联数据的解析与构建,具体的过程如下:Step1:数据访问权限获取:在新浪微博登录页面http://weibo.com/login.php,利用web自动化测试工具selenium对标签

【技术特征摘要】
1.一种获取微博中特定话题PCU关联数据的方法,其特征在于:以新浪微博中元素间的逻辑关联关系为指导,自动有序地获取由帖子内容、帖子评论以及发帖用户所形成的PCU关联数据,表示为异质网络:G=(P,C,U,f,g,h)其中P、C与U分别代表帖子、帖子评论与发帖用户,f代表帖子与帖子评论的交互关系,g代表用户之间的好友关系,h代表用户和帖子、帖子评论之间的隶属关系;该方法包含:数据访问权限获取、PCU关联数据页面下载与PCU关联数据的解析与构建,具体的过程如下:Step1:数据访问权限获取:在新浪微博登录页面http://weibo.com/login.php,利用web自动化测试工具selenium对标签&lt;divclass="inpusername"&gt;和&lt;divclass="inppassword"&gt;自动定位并填写用户名和密码,触发提交按钮&lt;divclass="info_listlogin_btn"&gt;,完成身份认证,取得访问数据的权限;Step2:PCU关联数据页面下载:1)通过微博的查询接口获取特定话题的所有帖子链接urlp,存入帖子链接队列池Urlp,从中逐一取出帖子链接urlp并依据其下载帖子页面Sp,存入帖子页面库Pagesp中;2)从用户链接队列池Urlu、评论链接队列池Urlc、好友关系链接队列池Urlf中依次取出帖子的发帖用户主页链接urlu、评论链接urlc、好友关系链接urlf,启用三个线程分别下载用户页面Su、评论页面Sc和好友关系页面Sf,存入用户页面库Pagesu、评论页面库Pagesc及好友关系页面库Pagesf中;Step3:PCU关联数据的解析与构建:1)逐一从帖子页面库Pagesp中取出帖子页面Sp、从用户页面库Pagesu中取出用户页面Su、从评论页面库Pagesc中取出评论页面Sc、从好友关系页面库Pagesf中取出好友关系页面Sf,利用文档解析工具Beautifulsoup对Sp、Su、Sc和Sf进行分层定位解析,将所需标签值写入数据库,其中解析Sp得到的urlu、urlc和urlf,分别放入用户链接队列池Urlu、评论链接队列池Urlu和好友关系链接队列池Urlf;2)由帖子与评论之间的交互关系得到帖子关系网络f,由用户的关注与粉丝信息得到用户好友关系网络g,由用户与帖子、帖子评论之间的隶属关系得到用户帖子隶属关系网络h;最终得到异质网络G=(P,C,U,f,g,h)。2.如权利要求1所述的获取微博中特定话题PCU关联数据的方法,其特征在于,所述过程Step1具体步骤为:第1步:通过selenium启动IE9浏览器,自动进入新浪微博登录主页http://www.weibo.com/login.php,定位输入帐户和密码的HTML标签&lt;inputname="username"&gt;和&lt;inputname="password"&gt;;第2步:根据第1步标签定位结果,利用selenium自动填写已经注册的用户名和密码;第3步:根据登录页面是否含有HTML标签&lt;tablename="verifycode"&gt;,判断是否需要输入验证码;第4步:若有验证码输入标签,采用字符提取技术获取验证码,对于采用该技术失效的情况,采取人工识别并手工输入的方法;第5步:通过selenium定位到登录标签&lt;aclass="W_btn_g"&gt;,自动触发该标签完成数据访问权限获取。3.如权利要求1所述的获取微博中特定话题PCU关联数据的方法,其特征在于,所述过程Step2具体步骤为:第1步:进入微博搜索页面http://s.weibo.com/,选择“综合”搜索查询接口,同时初始化Urlp、Urlu、Urlc、Urlf、Pagesp、Pagesu、Pagesc、Pagesf为空;...

【专利技术属性】
技术研发人员:刘均陈浩米建红吕彦章占梦婷
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1