1.网页类型分析
作为第一步,我们针对原始数据中用户点击的网页类型进行统计,网页类型是指“网址类型”中的前3位数字(它本身有6/7位数字)。前面已经提到过,此处处理的要义在于“分块进行”,必要时可以使用多线程甚至分布式计算。所以,代码清单12-2所给出的例子,已经展示了处理大数据的要义所在。后面的各项统计均按照类似的方法进行,不再赘述。
代码清单12-2 Python访问数据库并进行分块统计(接代码清单12-1)
counts = [ i['fullURLId'].value_counts() for i in sql] #逐块统计 counts = pd.concat(counts).groupby(level=0).sum() #合并统计结果,把相同的统计项合并(即 按index分组并求和) counts = counts.reset_index() #重新设置index,将原来的index作为counts的一列。 counts.columns = ['index', 'num'] #重新设置列名,主要是第二列,默认为0 counts['type'] = counts['index'].str.extract('(\d{3})') #提取前三个数字作为类别id counts_ = counts[['type', 'num']].groupby('type').sum() #按类别合并 counts_.sort('num', ascending = False) #降序排列
代码详见:demo/code/sql_value_counts.py
结果见表12-3,从中发现点击与咨询相关(网页类型为101,http://www.****.com/ask/)的记录占了49.16%,其次是其他的类型(网页类型为199)占比24%左右,然后是知识相关(网页类型为107,http://www.****.com/info/)占比22%左右。
表12-3 网页类型统计
因此,可以得到用户点击的页面类型的排行榜为:咨询相关、知识相关、其他方面的网页、法规(类型为301)、律师相关(类型为102)。可以初步得出相对于长篇的知识,用户更加偏向于查看咨询或者进行咨询。进一步对咨询类别内部进行统计分析,其结果见表12-4。其中浏览咨询内容页(101003)记录是最多,其次是咨询列表页(101002)和咨询首页(101001)。结合上述初步结论,可以得出用户都喜欢通过浏览问题的方式找到自己需要的信息,而不是以提问的方式或者查看长篇的知识的方式得到所需信息。
表12-4 咨询类别内部统计
统计分析知识类型内部的点击情况,因知识类型中只有一种类型(107001),所以利用网址对其进行分类,获得知识内容页(http://www.****.com/info/*/数字.html,其中数字部分可能带有下划线_)以及知识首页(http://www.****.com/info/*/)和知识列表页(http://www.****.com/info/*.html,是除了知识内容页外的html页面)的分布情况,其结果见表12-5。
表12-5 知识类型内部统计
所用到的技巧主要是正则表达式,基本的统计代码如代码清单12-3所示。
代码清单12-3 Python访问数据库并进行分块统计(接代码清单12-2)
#统计107类别的情况 def count107(i): #自定义统计函数 j = i[['fullURL']][i['fullURLId'].str.contains('107')].copy() #找出类别包含107的网址 j['type'] = None #添加空列 j['type'][j['fullURL'].str.contains('info/.+?/')] = u'知识首页' j['type'][j['fullURL'].str.contains('info/.+?/.+?')] = u'知识列表页' j['type'][j['fullURL'].str.contains('/\d+?_*\d+?\.html')] = u'知识内容页' return j['type'].value_counts() counts2 = [count107(i) for i in sql] #逐块统计 counts2 = pd.concat(counts2).groupby(level=0).sum() #合并统计结果
分析其他(199)页面的情况,其中网址中带有“?”的占了32%左右,其他咨询相关与法规专题占比达到43%,地区和律师占比26%左右。在网页的分类中,有律师、地区、咨询相关的网页分类,为何这些还会存在其他类别中?进行数据查看后,发现大部分是以下网址的形式存在。
http://www.****.com/guangzhou/p2lawfirm地区律师事务所。
http://www.****.com/guangzhou地区网址。
http://www.****.com/ask/ask.php。
http://www.****.com/ask/midques_10549897.html中间类型网页。
http://www.****.com/ask/exp/4317.html咨询经验。
http://www.****.com/ask/online/138.html在线咨询页。
带有标记的3类网址本应该有相应的分类,但是由于分类规则的匹配问题,没有相应的匹配。带有lawfirm关键字对应的是律师事务所,带有ask/exp、ask/online关键字对应的是咨询经验和在线咨询页。所以,在处理数据过程中将其进行清楚分类,便于后续数据分析。
综上分析的3种情况,可以发现大部分用户浏览的网页的情况为:咨询内容页、知识内容页、法规专题页、咨询经验(在线咨询页)。因此,在后续的分析中,选取其中占比最多的两类(咨询内容页和知识内容页)进行模型分析。
上述在其他类别中,发现网址中存在带“?”的情况,对其进行统计,一共有65492条记录,占所有记录7.8%,统计分析此情况,其结果见表12-6。可以从表中得出网址中带有“?”的情况不仅仅出现在其他类别中,同时也会出现在咨询内容页和知识内容页中。但其他类型中(1999001)占了98.8%,因此需要进一步分析其类型内部的规律。
表12-6 带问号字符网址类型统计表
表12-7 其他类型统计表
通过统计分析结果见表12-7,在1999001类型中,标题为快车-律师助手的这类信息占比77%,通过对业务了解,这是律师的一个登录页面。标题为咨询发布成功页面是自动跳转的页面。其他剩下的带有“?”的页面记录,占其记录的15%左右,占所有记录的1%左右。其他类型中的大部分为“http://www.****.com/ask/question_9152354.html?&from=androidqq”,这种类型的网页是被分享过的,可以对其进行处理,截取“?”前面的网址,还原其类型。因为快搜和免费发布咨询网址中,类型很混杂,不能直接采用“?”进行截取,无法还原其原来类型,且整个数据集中占比很小,因此在处理数据环节可以对这部分数据进行删除。网址中不包含主网址、不包含关键字的网址有101条记录,类似的网址为:“http://www.baidu.com/link?url=O7iBD2KmoJdkHWTZHagDXrxfBFM0AwLmpid12j2d_aejNfq6bwSBeqT-1Ov2jWOFMpIt5XUpXGmNiLDlGg0rMCwstskhB5ftAYtO2_voEnu”。
在查看数据的过程中,发现存在这样一部分的用户,他们没有单击具体的网页(以.html后缀结尾),他们单击的大部分是目录网页,这样的用户可以称为“瞎逛”,总计有7668条记录。分析其中的网页类型,统计结果见表12-8。可以从中看出,小部分是与知识、咨询相关,大部分是与地区、律师和事务所相关的。这部分用户有可能是找律师服务的,或者是瞎逛的。
表12-8 “瞎逛”用户点击行为分析
从上述网址类型分布分析中,可以发现一些与分析目标无关数据的规则。①咨询发布成功页面。②中间类型网页(带有midques_关键字)。③网址中带有“?”类型,无法还原其本身类型的快搜页面与发布咨询网页。④重复数据(同一时间同一用户,访问相同网页)。⑤其他类别的数据(主网址不包含关键字)。⑥无点击.html页面行为的用户记录。⑦律师的行为记录(通过快车-律师助手判断)。记录这些规则,有利于在数据清洗阶段对数据进行清洗操作。
上述过程就是对网址类型进行统计得到的分析结果,针对网页的点击次数也进行下述分析。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论