CN113420234B - 一种微博数据采集方法与*** - Google Patents
一种微博数据采集方法与*** Download PDFInfo
- Publication number
- CN113420234B CN113420234B CN202110749501.XA CN202110749501A CN113420234B CN 113420234 B CN113420234 B CN 113420234B CN 202110749501 A CN202110749501 A CN 202110749501A CN 113420234 B CN113420234 B CN 113420234B
- Authority
- CN
- China
- Prior art keywords
- microblog
- target field
- character
- comment
- pinyin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004140 cleaning Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 43
- 238000012795 verification Methods 0.000 claims description 37
- 244000097202 Rathbunia alamosensis Species 0.000 claims description 13
- 235000009776 Rathbunia alamosensis Nutrition 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 11
- 235000014510 cooky Nutrition 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种微博数据采集方法,首先登录微博,获取微博页面,对微博页面进行解析并获取目标数据;将目标数据输出到URL列表;检测URL列表从目标URL地址中获取目标字段;对目标字段进行数据清洗得到微博数据。本发明通过登陆微博并对微博页面进行解析,从目标URL地址中获取目标字段,并对目标字段进行数据清洗得到微博数据,可以大大提高微博数据的获取效率和质量。本发明还提供了一种微博数据采集***。
Description
技术领域
本发明属于网络水军检测技术领域,更具体地说,是涉及一种微博数据采集方法与***。
背景技术
随着大数据时代的到来,社交网络的受欢迎程度已经不言而喻。在社交平台上用户可以各抒己见,但是真假难辨,舆情意见复杂多变,受干扰因素众多。比如网络水军利用恶意炒作将个体的需求转化为群体需求,将小范围事件转化为热点事件,从而混淆公众视听。倘若纵容水军恶意炒作,网民将难以信任网络媒体,网络基本体系的完整搭建也将更加困难。网络水军的出现对社会舆论的影响是巨大的,甚至可以推动社会舆论的走向,所以水军识别对于控制网络恶性行为、促进和谐发展具有重要的社会意义。然而,要想识别网络水军,势必要对微博信息进行采集。
现有对微博信息采集主要基于微博API(Application Programming Interface,应用程序编程接口)请求获取微博数据。在国内,用于微博研究和应用的中文微博数据大部分来源于腾讯微博、新浪微博等微博服务提供商。这些服务提供商在其各自的开放平台公布了一部分微博API,研发者可以编写程序来调用该微博API,从而获取微博数据。
尽管调用微博API可以获取真实的微博数据,且能够在一定程度上满足研发者对微博数据的需求,然而微博服务提供商通过分级授权的方式对微博API的调用进行了限制。限制标准包括IP请求频率、信息获取数量等,该限制大大降低了获取数据的完整性、有效性和获取效率。例如,普通权限通过一次API请求只能获取单个用户的300条微博数据。如果需要获取批量用户的微博数据,则需要提交大量请求,无法在短时间内完成。不仅如此,有些微博API允许获取的信息数量也受到限制,给采集完整的微博数据带来了困难。
可见,现有的利用微博API获取微博数据,具有获取的信息数量受到限制的缺点。
发明内容
本发明的目的在于提供一种微博数据采集方法与***,旨在解决现有的利用微博API获取微博数据,获取的信息数量受到限制的的问题。
为实现上述目的,本发明采用的技术方案是:一种微博数据采集方法,包括以下步骤:
步骤1:登录微博;
步骤2:获取微博页面,对所述微博页面进行解析并获取目标数据;
步骤3:将所述目标数据输出到URL列表;
步骤4:检测所述URL列表从目标URL地址中获取目标字段;
步骤5:对所述目标字段进行数据清洗得到微博数据;所述微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
优选的,所述步骤1:登录微博,包括:
步骤1.1:对用户ID和密码进行Base64编码得到用户字符串;
步骤1.2:向新浪服务器发送所述用户字符串得到服务器时间和服务器密匙;
步骤1.3:利用SHA1加密算法对所述服务器时间和所述服务器密匙进行加密得到新浪服务器登录密串;
步骤1.4:对所述新浪服务器发送用户字符串和所述新浪服务器登录密串得到服务器登录票据;
步骤1.5:根据所述服务器登录票据使用GET方法向所述新浪服务器获取Cookie信息;
步骤1.6:利用所述Cookie信息登录微博。
优选的,所述步骤2:获取微博页面,对所述微博页面进行解析并获取目标数据,包括:
步骤2.1:获取多个浏览器在访问微博时的HTTP请求信息;
步骤2.2:根据所述HTTP请求信息得到各个浏览器的User-Agnet信息;
步骤2.3:根据所述各个浏览器的User-Agnet信息将爬虫的HTTP请求随机替换为各个浏览器在访问微博时的HTTP请求信息。
优选的,所述步骤5:对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.1:将所述目标字段进行划分得到训练目标字段和验证目标字段;
步骤5.2:获取所述训练目标字段中各个微博ID的评论文本;
步骤5.3:将所述评论文本划分为广告评论和正常评论;
步骤5.4:对所述广告评论、所述正常评论和所述验证目标字段进行拼音文本转换得到广告评论拼音字符、正常评论拼音字符和所述验证目标字段拼音字符;
步骤5.5:采用第一字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第一相似度结果;
步骤5.6:采用第二字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第二相似度结果;
步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据。
优选的,所述步骤5.5:采用第一字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第一相似度结果,包括:
步骤5.5.1:采用第一矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的拼写距离;其中,所述第一矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.5.2:采用中的公式:
得到第一相似度结果;其中,ld表示拼写距离。
优选的,所述步骤5.6:采用第二字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第二相似度结果,包括:
步骤5.6.1:采用第二矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的最长公共子距离;其中,所述第二矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.6.2:采用中的公式:
得到第二相似度结果;其中,lcs表示最长公共子距离。
优选的,所述步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.7.1:获取第一预设值和第二预设值;
步骤5.7.2:获取第一相似度结果大于第一预设值的相应字符串的第一集合;
步骤5.7.3:获取第二相似度结果大于第二预设值的相应字符串的第二集合;
步骤5.7.4:将所述第一集合和所述第二集合的并集作为所述验证目标字段拼音字符中的广告评论拼音字符;
步骤5.7.5:根据所述广告评论拼音字符去除所述目标字段中的广告评论,得到微博数据。
本发明还提供了一种微博数据采集***,包括:
模拟登陆***,用于登录微博;
微博页面解析模块,用于获取微博页面,对所述微博页面进行解析并获取目标数据;
目标数据提取模块,用于将所述目标数据输出到URL列表;
目标字段获取模块,用于检测所述URL列表从目标URL地址中获取目标字段;
数据清洗模块,用于对所述目标字段进行数据清洗得到微博数据;所述微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
本发明提供的一种微博数据采集方法与***的有益效果在于:与现有技术相比,本发明的一种微博数据采集方法,首先登录微博,获取微博页面,对微博页面进行解析并获取目标数据;将目标数据输出到URL列表;检测URL列表从目标URL地址中获取目标字段;对目标字段进行数据清洗得到微博数据。本发明通过登陆微博并对微博页面进行解析,从目标URL地址中获取目标字段,并对目标字段进行数据清洗得到微博数据,可以大大提高微博数据的获取效率和质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种微博数据采集方法流程图。
图2为本发明实施例提供的第一矩阵规划公式计算原理图。
图3为本发明实施例提供的第二矩阵规划公式计算原理图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的目的在于提供一种微博数据采集方法与***,旨在解决现有的利用微博API获取微博数据,获取的信息数量受到限制的的问题。
请参阅图1,为实现上述目的,本发明采用的技术方案是:一种微博数据采集方法,包括以下步骤:
S1:登录微博;
S1具体包括:
S1.1:对用户ID和密码进行Base64编码得到用户字符串;
S1.2:向新浪服务器发送用户字符串得到服务器时间和服务器密匙;
S1.3:利用SHA1加密算法对服务器时间和服务器密匙进行加密得到新浪服务器登录密串;
在实际应用中,采用SHA1加密算法:shal(shal(servertime+nonce)),对服务器时间(servertime)和服务器密匙(nonce)进行加密。该加密串具有唯一性和不可逆性,SHA1加密算法常用于服务端对客户端身份的识别以及网络请求完整性的验证。其中主要加密算法是通用的SHA1加密算法对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。
S1.4:对新浪服务器发送用户字符串和新浪服务器登录密串得到服务器登录票据;
在实际应用中,通常采用使用POST方式发送请求,提交完成之后,服务器会传回一个响应信息,这个响应信息包含有用于登录服务器的票据。
S1.5:根据服务器登录票据使用GET方法向新浪服务器获取Cookie信息,并将其赋值给Request库的参数。
S1.6:利用Cookie信息登录微博。
S2:获取微博页面,对微博页面进行解析并获取目标数据;
S2具体包括:
S2.1:获取多个浏览器在访问微博时的HTTP请求信息;
S2.2:根据HTTP请求信息得到各个浏览器的User-Agnet信息;
S2.3:根据各个浏览器的User-Agnet信息将爬虫的HTTP请求随机替换为各个浏览器在访问微博时的HTTP请求信息。
下面通过具体的实施例对S2进行进一步的描述:
User-Agent用于描述发出HTTP请求的终端信息。本发明利用爬虫伪装浏览器通过微博登录来爬取特定数据。在请求头headers中,采用交替伪装UserAgent的方法来避免爬虫User-Agent的识别和访问流量统计异常。
例如,本发明分别从使用Windows Edge、Firefox、Chrome和360浏览器访问微博时的请求头中提取四个User-Agent信息。在Python中定义headers对象时,交替随机选择其中的一条添加到headers对象中,将爬虫的HTTP请求伪装成某个浏览器的访问。
S3:将目标数据输出到URL列表;
S4:检测URL列表从目标URL地址中获取目标字段;
在实际应用中,在完成登录后,将输入的话题编码拼装成完整的微博话题地址。然后向服务器请求HTML解析并获取目标数据将其输出到URL列表。此时爬虫开始检测URL列表,若发现存在未爬取的URL地址则开始工作,最后从目标URL地址中获取HTML代码从中抽取选定的目标字段。
将爬取的目标字段分类且有效地存储到MySQL数据库中,比如微博评论类的信息存储在multidate表中,而微博用户的信息存储在user表中,以便对所需数据集进行相关利用和处理。
本发明采用该爬虫***从微博某明星下的热点话题采集从2021年3月10日8:00到2021年3月25日24:00时间段内微博评论信息,总计采集了84832条。由于采集的数据是指定网址的数据,因此数据存储结构即数据库的设计尤为重要。对于采集的微博评论信息,其存储主要结构表如表1所示。
表1微博评论信息表
其中,用户ID作为微博评论信息表的的主键,在该表的各个字段中,除了用户ID和发布时间不允许为空外,其余字段都允许为空,因为数据采集***可能会出现爬取失败。若发生爬取失败的情况下,也尽可能保证程序可以完整的执行下去。
S5:对目标字段进行数据清洗得到微博数据;微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
S5具体包括:
S5.1:将目标字段进行划分得到训练目标字段和验证目标字段;
在本发明中,按照2:8的比例将目标字段进行划分得到训练目标字段和验证目标字段。
S5.2:获取训练目标字段中各个微博ID的评论文本;
S5.3:将评论文本划分为广告评论和正常评论;
在实际应用中,由于采用爬虫获取评论文本,因此评论文本中会出现一些与微博热点不符的相关评论,例如广告评论,因此本发明要将广告评论进行去除,以得到真实有效的评论内容。
S5.4:对广告评论、正常评论和验证目标字段进行拼音文本转换得到广告评论拼音字符、正常评论拼音字符和验证目标字段拼音字符;
S5.5:采用第一字符串相似度检测方法检测各个广告评论拼音字符与验证目标字段拼音字符的相似度得到第一相似度结果;
S5.5具体包括:
S5.5.1:采用第一矩阵规划公式得到各个广告评论拼音字符与验证目标字段拼音字符的拼写距离;其中,第一矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
S5.5.2:采用中的公式:
得到第一相似度结果;其中,ld表示拼写距离。
请参阅图2,在实际应用中,首先需要构建了一个M+1*N+1的矩阵D,矩阵D的第一行表示字符串S的各个字符,第一列表示字符串T的各个字符,第二行表示字符串S中各个字符的初始化值,第二列表示字符串T各个字符的初始化值,其余矩阵元素的初始化值都为0。然后根据第一矩阵规划公式计算矩阵D中的元素值,矩阵中元素的值是由所要计算的元素的左上方元素、左边元素和上边元素决定的,在两个字符串之间,若矩阵中两个字符串中所对应的字符相同,对应字符的距离等于左上方元素的值,否则对应字符的距离等于它左上方元素、左边元素和上边元素中的最小值加l,例如矩阵D中的元素K(1,1),由于K(1,1)所对应的字符相同,所以根据公式可知K(1,1)=k(0,0)=0,而对于矩阵K中的元素K(1,2),由于它所对应的字符‘e’和‘x’不相同,所以K(1,2)=min(K(0,l),K(0,2),K(,1))+1=0+1=1,同理,本可以根据公式求出矩阵D中其他的元素的值,最终矩阵D中右下角元素的值就是两个字符串之间的拼写距离。
S5.6:采用第二字符串相似度检测方法检测各个广告评论拼音字符与验证目标字段拼音字符的相似度得到第二相似度结果;
S5.6具体包括:
S5.6.1:采用第二矩阵规划公式得到各个广告评论拼音字符与验证目标字段拼音字符的最长公共子距离;其中,第二矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
S5.6.2:采用中的公式:
得到第二相似度结果;其中,lcs表示最长公共子距离。
请参阅图3,在本发明中,首先需要构建了一个M+1*N+1的矩阵D,矩阵D的第一行表示字符串S的各个字符,第一列表示字符串T的各个字符,第二行表示字符串S中各个字符的初始化值均为0,第二列表示字符串T各个字符的初始化值均为0。根据第二矩阵规划公式计算矩阵D中的元素,矩阵中元素的值是由所要计算的元素的左上方元素、左边元素和上边元素决定的,在两个字符串之间,若矩阵中两个字符串中所对应的字符相同,对应字符的公共子序列长度等于左上方元素的值加1,否则对应字符的公共子序列长度等于它左上方元素、左边元素和上边元素中的最大值,例如矩阵D中的元素K(1,1),由于K(1,1)所对应的字符相同,所以根据第二矩阵规划公式可知K(1,1)=k(0,0)+1=0+1=1,而对于矩阵D中的元素K(1,2),由于它所对应的字符‘e’和‘x’不相同,所以K(1,2)=max(K(O,l),K(0,2),K(1,1))=1,同理,可以根据第二矩阵规划公式求出矩阵D中其他的元素的值,最终矩阵D中右下角元素的值就是两个字符串之间的最长公共子距离。
S5.7:根据第一相似度结果和第二相似度结果对目标字段进行数据清洗得到微博数据。
S5.7具体包括:
S5.7.1:获取第一预设值和第二预设值;
在本发明中,第一预设值的取值范围为0.3-0.8。第二预设值的取值范围为0.4-0.6。
S5.7.2:获取第一相似度结果大于第一预设值的相应字符串的第一集合;
S5.7.3:获取第二相似度结果大于第二预设值的相应字符串的第二集合;
S5.7.4:将第一集合和第二集合的并集作为验证目标字段拼音字符中的广告评论拼音字符;
S5.7.5:根据广告评论拼音字符去除目标字段中的广告评论,得到微博数据。
在得到微博数据之后,本发明爬取的数据还存在以下几种重要的问题:
(1)数据缺失即部分属性值为空。
(2)数据噪声即数据值不合常理。
(3)数据不一致即数据存在前后矛盾。
(4)数据冗余即分析不需要的数据内容。
(5)数据集不均衡即各个类别的数据数目差距较大。
本发明针对以上情况采用多余删除,缺少填补的方法,对微博数据进行数据清洗,得到清洗完成的微博数据。
本发明通过利用第一矩阵规划公式和第二矩阵规划公式对目标字段进行数据清洗得到微博数据,可以大大提高微博数据的获取效率和质量。
本发明还提供了一种微博数据采集***,包括:
模拟登陆***,用于登录微博;
微博页面解析模块,用于获取微博页面,对微博页面进行解析并获取目标数据;
目标数据提取模块,用于将目标数据输出到URL列表;
目标字段获取模块,用于检测URL列表从目标URL地址中获取目标字段;
数据清洗模块,用于对目标字段进行数据清洗得到微博数据;微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
本发明公开了一种微博数据采集方法与***,本发明提供的一种微博数据采集方法,首先登录微博,获取微博页面,对微博页面进行解析并获取目标数据;将目标数据输出到URL列表;检测URL列表从目标URL地址中获取目标字段;对目标字段进行数据清洗得到微博数据。本发明通过登陆微博并对微博页面进行解析,从目标URL地址中获取目标字段,并对目标字段进行数据清洗得到微博数据,可以大大提高微博数据的获取效率和质量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种微博数据采集方法,其特征在于,包括以下步骤:
步骤1:登录微博;
所述步骤1:登录微博,包括:
步骤1.1:对用户ID和密码进行Base64编码得到用户字符串;
步骤1.2:向新浪服务器发送所述用户字符串得到服务器时间和服务器密匙;
步骤1.3:利用SHA1加密算法对所述服务器时间和所述服务器密匙进行加密得到新浪服务器登录密串;
步骤1.4:对所述新浪服务器发送用户字符串和所述新浪服务器登录密串得到服务器登录票据;
步骤1.5:根据所述服务器登录票据使用GET方法向所述新浪服务器获取Cookie信息;
步骤1.6:利用所述Cookie信息登录微博;
步骤2:获取微博页面,对所述微博页面进行解析并获取目标数据;
所述步骤2:获取微博页面,对所述微博页面进行解析并获取目标数据,包括:
步骤2.1:获取多个浏览器在访问微博时的HTTP请求信息;
步骤2.2:根据所述HTTP请求信息得到各个浏览器的User-Agnet信息;
步骤2.3:根据所述各个浏览器的User-Agnet信息将爬虫的HTTP请求随机替换为各个浏览器在访问微博时的HTTP请求信息;
步骤3:将所述目标数据输出到URL列表;
步骤4:检测所述URL列表从目标URL地址中获取目标字段;
步骤5:对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.1:将所述目标字段进行划分得到训练目标字段和验证目标字段;
步骤5.2:获取所述训练目标字段中各个微博ID的评论文本;
步骤5.3:将所述评论文本划分为广告评论和正常评论;
步骤5.4:对所述广告评论、所述正常评论和所述验证目标字段进行拼音文本转换得到广告评论拼音字符、正常评论拼音字符和所述验证目标字段拼音字符;
步骤5.5:采用第一字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第一相似度结果,包括:
步骤5.5.1:采用第一矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的拼写距离;其中,所述第一矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.5.2:采用中的公式:
得到第一相似度结果;其中,ld表示拼写距离;
步骤5.6:采用第二字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第二相似度结果,包括:
步骤5.6.1:采用第二矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的最长公共子距离;其中,所述第二矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.6.2:采用中的公式:
得到第二相似度结果;其中,lcs表示最长公共子距离;
步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据;
所述步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.7.1:获取第一预设值和第二预设值;
步骤5.7.2:获取第一相似度结果大于第一预设值的相应字符串的第一集合;
步骤5.7.3:获取第二相似度结果大于第二预设值的相应字符串的第二集合;
步骤5.7.4:将所述第一集合和所述第二集合的并集作为所述验证目标字段拼音字符中的广告评论拼音字符;
步骤5.7.5:根据所述广告评论拼音字符去除所述目标字段中的广告评论,得到微博数据;
所述微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
2.一种微博数据采集***,其特征在于,包括:
模拟登陆***,用于登录微博;
其中,登录微博,包括:
步骤1.1:对用户ID和密码进行Base64编码得到用户字符串;
步骤1.2:向新浪服务器发送所述用户字符串得到服务器时间和服务器密匙;
步骤1.3:利用SHA1加密算法对所述服务器时间和所述服务器密匙进行加密得到新浪服务器登录密串;
步骤1.4:对所述新浪服务器发送用户字符串和所述新浪服务器登录密串得到服务器登录票据;
步骤1.5:根据所述服务器登录票据使用GET方法向所述新浪服务器获取Cookie信息;
步骤1.6:利用所述Cookie信息登录微博;
微博页面解析模块,用于获取微博页面,对所述微博页面进行解析并获取目标数据;
其中,获取微博页面,对所述微博页面进行解析并获取目标数据,包括:
步骤2.1:获取多个浏览器在访问微博时的HTTP请求信息;
步骤2.2:根据所述HTTP请求信息得到各个浏览器的User-Agnet信息;
步骤2.3:根据所述各个浏览器的User-Agnet信息将爬虫的HTTP请求随机替换为各个浏览器在访问微博时的HTTP请求信息;
目标数据提取模块,用于将所述目标数据输出到URL列表;
目标字段获取模块,用于检测所述URL列表从目标URL地址中获取目标字段;
数据清洗模块,用于对所述目标字段进行数据清洗得到微博数据;所述微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID;
其中,对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.1:将所述目标字段进行划分得到训练目标字段和验证目标字段;
步骤5.2:获取所述训练目标字段中各个微博ID的评论文本;
步骤5.3:将所述评论文本划分为广告评论和正常评论;
步骤5.4:对所述广告评论、所述正常评论和所述验证目标字段进行拼音文本转换得到广告评论拼音字符、正常评论拼音字符和所述验证目标字段拼音字符;
步骤5.5:采用第一字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第一相似度结果,包括:
步骤5.5.1:采用第一矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的拼写距离;其中,所述第一矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.5.2:采用中的公式:
得到第一相似度结果;其中,ld表示拼写距离;
步骤5.6:采用第二字符串相似度检测方法检测各个所述广告评论拼音字符与所述验证目标字段拼音字符的相似度得到第二相似度结果,包括:
步骤5.6.1:采用第二矩阵规划公式得到各个所述广告评论拼音字符与所述验证目标字段拼音字符的最长公共子距离;其中,所述第二矩阵规划公式为:
其中,Si表示广告评论拼音字符中任意一个字符串S的第i个字符元素(0≤i≤M,M表示字符串S的长度),Tj表示验证目标字段拼音字符中任意一个字符串T的第j个字符元素(0≤j≤N,N表示字符串T的长度);
步骤5.6.2:采用中的公式:
得到第二相似度结果;其中,lcs表示最长公共子距离;
步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据;
步骤5.7:根据所述第一相似度结果和所述第二相似度结果对所述目标字段进行数据清洗得到微博数据,包括:
步骤5.7.1:获取第一预设值和第二预设值;
步骤5.7.2:获取第一相似度结果大于第一预设值的相应字符串的第一集合;
步骤5.7.3:获取第二相似度结果大于第二预设值的相应字符串的第二集合;
步骤5.7.4:将所述第一集合和所述第二集合的并集作为所述验证目标字段拼音字符中的广告评论拼音字符;
步骤5.7.5:根据所述广告评论拼音字符去除所述目标字段中的广告评论,得到微博数据;
所述微博数据包括微博ID、点赞数、评论数、发布时间、文本内容、转发数和用户ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749501.XA CN113420234B (zh) | 2021-07-02 | 2021-07-02 | 一种微博数据采集方法与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749501.XA CN113420234B (zh) | 2021-07-02 | 2021-07-02 | 一种微博数据采集方法与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113420234A CN113420234A (zh) | 2021-09-21 |
CN113420234B true CN113420234B (zh) | 2022-08-02 |
Family
ID=77720091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110749501.XA Active CN113420234B (zh) | 2021-07-02 | 2021-07-02 | 一种微博数据采集方法与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420234B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786799A (zh) * | 2016-03-21 | 2016-07-20 | 成都寻道科技有限公司 | 网络文章原创性判定方法 |
CN109472008A (zh) * | 2018-11-20 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置及电子设备 |
CN111027282A (zh) * | 2019-11-21 | 2020-04-17 | 精硕科技(北京)股份有限公司 | 文本去重方法和装置、电子设备及计算机可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324666A (zh) * | 2013-05-14 | 2013-09-25 | 亿赞普(北京)科技有限公司 | 一种基于微博数据的话题跟踪方法及装置 |
US11194865B2 (en) * | 2017-04-21 | 2021-12-07 | Visa International Service Association | Hybrid approach to approximate string matching using machine learning |
CN108304378B (zh) * | 2018-01-12 | 2019-09-24 | 深圳壹账通智能科技有限公司 | 文本相似度计算方法、装置、计算机设备和存储介质 |
CN109117464B (zh) * | 2018-03-02 | 2023-12-22 | 南京邮电大学 | 一种基于编辑距离的数据相似度检测方法 |
CN109933701B (zh) * | 2019-03-08 | 2019-12-31 | 四川大学 | 一种基于多策略融合的微博数据获取方法 |
US11449559B2 (en) * | 2019-08-27 | 2022-09-20 | Bank Of America Corporation | Identifying similar sentences for machine learning |
CN111291551B (zh) * | 2020-01-22 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-07-02 CN CN202110749501.XA patent/CN113420234B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786799A (zh) * | 2016-03-21 | 2016-07-20 | 成都寻道科技有限公司 | 网络文章原创性判定方法 |
CN109472008A (zh) * | 2018-11-20 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置及电子设备 |
CN111027282A (zh) * | 2019-11-21 | 2020-04-17 | 精硕科技(北京)股份有限公司 | 文本去重方法和装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
《String similarity computing based on position and cosine》;Na Cheng;《IEEE》;20171023;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113420234A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602052B (zh) | 微服务处理方法及服务器 | |
US9954841B2 (en) | Distinguish valid users from bots, OCRs and third party solvers when presenting CAPTCHA | |
CN109922052B (zh) | 一种结合多重特征的恶意url检测方法 | |
CN103744802B (zh) | Sql注入攻击的识别方法及装置 | |
CN101971591B (zh) | 分析网址的***及方法 | |
US10740411B2 (en) | Determining repeat website users via browser uniqueness tracking | |
RU2637477C1 (ru) | Система и способ обнаружения фишинговых веб-страниц | |
CN105610810A (zh) | 一种数据处理方法、客户端和服务器 | |
CN106209488B (zh) | 用于检测网站攻击的方法和设备 | |
CN108154029A (zh) | 入侵检测方法、电子设备和计算机存储介质 | |
EP2823431B1 (en) | Validation associated with a form | |
US8407766B1 (en) | Method and apparatus for monitoring sensitive data on a computer network | |
CN107862039B (zh) | 网页数据获取方法、***和数据匹配推送方法 | |
CN110602021A (zh) | 一种基于http请求行为与业务流程相结合的安全风险值评估方法 | |
CN103647767A (zh) | 一种网站信息的展示方法和装置 | |
Han et al. | CBR‐Based Decision Support Methodology for Cybercrime Investigation: Focused on the Data‐Driven Website Defacement Analysis | |
CN110572402B (zh) | 基于网络访问行为分析的互联网托管网站检测方法、***和可读存储介质 | |
CN110581841B (zh) | 一种后端反爬虫方法 | |
Alidoosti et al. | Evaluating the web‐application resiliency to business‐layer DoS attacks | |
Qu | Research on password detection technology of iot equipment based on wide area network | |
CN113420234B (zh) | 一种微博数据采集方法与*** | |
CN111368231B (zh) | 一种异构冗余架构网站的测试方法及装置 | |
RU2762241C2 (ru) | Система и способ выявления мошеннических активностей при взаимодействии пользователя с банковскими сервисами | |
US11847244B1 (en) | Private information detector for data loss prevention | |
Payal et al. | JigCAPTCHA: An Advanced Image-Based CAPTCHA Integrated with Jigsaw Piece Puzzle using AJAX |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |