一、分析背景与目的
随着计算机网络的发展,网络文学网站已经吸引到越来越多的用户。在此背景下,如何运营网络文学网站以获取更大的收益至关重要。本文通过对纵横中文网相关数据进行分析,找到提高收益的可能途径,从而为该网站的运营工作提供建议。
经过查看相关竞品分析报告以及查看纵横中文网帮助中心得知,该网站的盈利方式主要来源于广告费、用户VIP充值、用户纵横币充值以及游戏这四个方面,其中前三者与网络文学有关。经深入了解,对于纵横中文网一类的网络文学网站,广告费所得的收入与网站流量息息相关。因此,提高网站上小说的总体点击率极为重要。此外,在纵横中文网中,用户vip充值、纵横币充值主要用于月票、捧场、订阅图书章节。因此综上所述,本文将对纵横中文网的点击榜、月票榜、捧场榜、新书订阅榜的相关数据进行分析,以期为提高网站点击数、用户vip与纵横币充值数额提供相关建议,并同时对读者消费榜数据进行分析,综合得出优化网站运营的可行性建议。
二、数据来源
纵横中文网官方网址为http://www.zongheng.com/。本文通过爬虫爬取了点击榜月榜、点击榜周榜、月票榜、捧场榜以及新书订阅榜的相关数据,得到想要的数据,涉及书名、作者、图书类型、图书写作进度(连载或完结)等五个指标,分别用book_name、author、booktype、writing_progress等代表。爬虫相关代码以点击榜周榜为例,参见附录(注:仅用做学习交流,严禁用于商业用途)。部分数据如下图所示:

三、数据分析
首先,将所得到的数据导入到Mysql中,以方便进行下一步的数据分析,如下图所示,其中monthly_clicked_list、weekly_clicked_list、monthly_pass_list、boosted_list、newbook_subscription_list分别代表点击榜月榜、点击榜周榜、月票榜、捧场榜和新书订阅榜五张表:


1、用户阅读情况的稳定性分析:
我们根据得到的点击榜月榜与点击榜周榜的数据,通过查看两者上各类图书的占比是否具有一致性以及同一本图书同时在两张表上的几率大小,从而来判断用户阅读情况的稳定性。
(1)点击榜月榜、周榜各类图书的占比:
在Mysql中计算得到各类别图书的占比,由高至低排序。以点击榜月榜为例,具体程序如下:
SELECT book_type, COUNT(*)*100.0/
(SELECT COUNT(*) FROM monthly_clicked_list) AS type_perc
FROM monthly_clicked_list
GROUP BY book_type
ORDER BY type_perc DESC;
将计算所得粘贴到Excel中,绘制饼图,得到的结果如下:


由图可知,在点击榜月榜、周榜所列的所有图书中,虽然周榜中的图书类别比月榜多一些,但整体占比最多的图书类别均为玄幻、都市,其次为历史、架空等,且各类图书所占比例保持基本一致。由此可判断,纵横中文网的用户对于图书类型的偏好随时间变化相对稳定。
(2)同一本图书同时在点击榜月榜、周榜上的几率大小:
在Mysql中计算得到同时出现在点击榜月榜、周榜上的图书的数量,具体程序如下:
SELECT COUNT(*) FROM
monthly_clicked_list m INNER JOIN weekly_clicked_list w
ON m.book_name=w.book_name;
所得结果为161。说明在点击榜月榜或周榜上,同时在两个榜单上出现的图书占整体图书的161/200*100%=80.5%,所占比例不小。说明用户对于图书的偏好随时间变化具有一定稳定性。
通过以上分析,可以判断出纵横中文网的用户行为具有一定的稳定性,因此可以通过数据来判断用户的偏好等,从而为提高网站的收益提供建议。
2、点击榜月榜、点击榜周榜、月票榜、捧场榜以及新书订阅榜上各类别图书占比分析:
(1)点击榜月榜、点击榜周榜:
在上述环节中我们已经求得点击榜月榜、周榜上各类图书的占比,结果如下:


由上述结果可以看出,玄幻类型的图书和都市类型的图书点击率最高,其次是历史、架空、仙侠、修真类型的图书。分析出现现象的原因为纵横中文网的用户普遍对于玄幻、都市类型的图书具有更强烈的兴趣。
(2)月票榜、捧场榜以及新书订阅榜:
所得结果如下:



由上述结果可以看出,在月票榜、捧场榜以及新书订阅榜上,玄幻和都市这两类的图书仍均占较大比重。除此之外,在月票榜上,修真和异世所占比重也较大;在捧场榜上,异世所占比重较大,超过都市所占比重。分析产生上述现象的原因是一方面修真和异世这两类图书的质量普遍偏高,因此用户愿意将月票投给它们或是为它们捧场;但是另一方面,在纵横中文网所有的用户中,对于异世、修真类内容感兴趣的用户所占比例不大,这导致这两类图书的整体点击率不高。
由上述结果还可以看出,在新书订阅榜中,都市类图书所占比重最大,超过玄幻类图书,但在月票榜、捧场榜、点击榜上,都市类图书所占比重均有所降低,在整体排到第二、第三的位置。分析产生上述现象的原因是有些都市类图书的质量较低,导致用户后续点击率较低、不愿意将月票投给它们或是为它们捧场。
3、点击榜月榜、点击榜周榜、月票榜、捧场榜以及新书订阅榜上作者情况分析:
在Mysql中计算得到点击榜月榜、点击榜周榜各作者发表图书数量的占比,由高至低排序。以点击榜月榜为例,具体程序如下:
SELECT author, COUNT(*) AS book_num FROM monthly_clicked_list
GROUP BY author
ORDER BY book_num DESC;
将所得结果导入到Tableau中,绘制气泡图,得到的结果如下(由于作者人数偏多,仅截取图像上半部分):


由结果可以看出,在点击榜月榜、点击榜周榜上,作者烽火戏诸侯、梦入神机、乱世狂刀、无罪均有较多数量的作品。分析产生这种现象的原因为,该四名作者作品的质量较高,且在其作品的写作与发布过程中,积累到了一定数量的忠实读者,导致其几部作品点击率较高。同时,经在Mysql中执行查询可知,在以上四个作者中,烽火戏诸侯、乱世狂刀、无罪还同时出现在月票榜以及捧场榜中,进一步证实其作品质量高、忠实读者数量雄厚等特征。
4、点击榜月榜、点击榜周榜、月票榜、和捧场榜上图书写作进度分析:
在Mysql中查询得到点击榜月榜、点击榜周榜、月票榜和捧场榜上图书写作进度分别为连载、完结的各自数量,以点击榜月榜为例,具体程序如下:
SELECT writing_progress, COUNT(*) FROM monthly_clicked_list
GROUP BY writing_progress;
所得结果为:在月榜和周榜上,连载中的图书数量均为137个,已完结的图书数量均为63个。在月票榜上,连载中的图书数量为199个,已完结的图书数量为1个。在捧场榜上,所有的图书均为连载中的图书。分析得出在点击榜月榜、点击榜周榜以及月票榜上出现已完结的图书的原因为,这类图书写作质量高、符合相关用户阅读兴趣,能够充分吸引读者进行反复阅读或推荐给其它用户,使得其总阅读量可保持稳定且持续的上升状态。
四、总结及相关建议
1、在纵横中文网所有的图书中,玄幻类型的图书和都市类型的图书点击率最高,其次是历史、架空、仙侠、修真类型的图书。分析原因为纵横中文网的用户普遍对于玄幻、都市类型的图书具有更强烈的兴趣。因此为了提高整体点击率,建议网站在招揽人才时更加留意写玄幻、都市类型小说的作家,以吸引读者更大的兴趣以及更大的点击率。
2、在月票榜上,修真和异世所占比重也较大;在捧场榜上,异世所占比重较大,超过都市所占比重。分析产生上述现象的原因是一方面修真和异世这两类图书的质量普遍偏高,因此用户愿意将月票投给它们或是为它们捧场;但是另一方面,在纵横中文网所有的用户中,对于异世、修真类内容感兴趣的用户所占比例不大,这导致这两类图书的整体点击率不高。因此建议通过一些渠道吸引更多对修真和异世类小说感兴趣的读者,一方面可通过较为传统的渠道进行宣传,如建立修真小说阅读QQ群、异世小说阅读QQ群并在群里宣传纵横中文网上的修真、异世类小说,或在与修真、异世小说相关的贴吧里宣传纵横中文网上的修真、异世类小说等;另一方面可通过拍摄小说内容相关的短视频,在较为流行的如抖音等短视频APP上投放广告,对小说进行宣传。
3、烽火戏诸侯、梦入神机、乱世狂刀、无罪这四名作者均具有多部点击率很高的作品,且其中烽火戏诸侯、乱世狂刀、无罪三名作者还同时出现在月票榜和捧场榜上。分析原因为这四名作者作品的质量较高,且在其作品的写作与发布过程中,积累到了一定数量的忠实读者,导致其几部作品点击率较高。因此建议可通过提高这四名作者的报酬福利等方法以激励其在纵横中文网上发表更多的作品,提高纵横中文网的点击率,并刺激其忠实读者,亦即纵横中文网相关用户,购买VIP、纵横币等用户增值服务。
4、在点击榜月榜、点击榜周榜以及月票榜上出现已完结的图书,分析原因为这些图书的质量高、符合相关用户阅读兴趣,能够充分吸引读者进行反复阅读或推荐给其它用户,使得其总阅读量可保持稳定且持续的上升状态。因此建议,多加留意这类图书作为纵横中文网的优质作品进行宣传,以吸引更多的用户前来。
5、对于读者消费榜上的30名用户,建议可适当采取优惠政策,如买100纵横币送10纵横币等,以提高客户忠诚度,同时刺激其更多消费,使纵横中文网赢得更大收益。
附录(以点击榜周榜为例的相关代码)
仅用做学习交流,严禁用于商业用途!
import sys
from bs4 import BeautifulSoup
import re
import urllib.request
import xlwt
import time
def askURL(url):
head={'User-Agent':' '} #单引号中为user-agent,已省略
request=urllib.request.Request(url,headers=head)
html=''
try:
response=urllib.request.urlopen(request)
html=response.read().decode('utf-8')
time.sleep(2)
except urllib.error.URLError as e:
if hasattr(e,'code'):
print(e.code)
if hasattr(e,'reason'):
print(e.reason)
return html
def getData(baseurl):
datalist=[]
for i in range(10):
url=baseurl+str(i+1)
html=askURL(url)
soup=BeautifulSoup(html,'html.parser')
for item in soup.find_all('div',class_='rank_d_list borderB_c_dsh clearfix'):
data=[]
item=str(item)
bookname = re.findall(re.compile(r'<div class="rank_d_b_name" title="(.*)">'), item)[0]
data.append(bookname)
author = re.findall(re.compile(r'<div class="rank_d_b_cate" title="(.*)"'), item)[0]
data.append(author)
book_type = re.findall(re.compile(r'<a target="_blank">(.*)</a>'), item)[0][0:2]
data.append(book_type)
book_status = re.findall(re.compile(r'<a target="_blank">(.*)</a>'), item)[0][-2:]
data.append(book_status)
click_num = re.findall(re.compile(r'<div class="rank_d_b_ticket">(d+)<span>'), item)[0]
data.append(click_num)
datalist.append(data)
return datalist
def saveData(mydata,path):
book=xlwt.Workbook(encoding='utf-8')
sheet=book.add_sheet('纵横中文网点击榜数据')
col=('book_name','author','book_type','writing_progress','clicking_num')
for i in range(0,5):
sheet.write(0,i,col[i])
for i in range(200):
data=mydata[i]
for j in range(5):
sheet.write(i+1,j,data[j])
book.save(path)
def main():
baseurl='http://www.zongheng.com/rank/details.html?rt=5&d=1&p='
datalist=getData(baseurl)
savepath=r'' #引号中为指定Excel存储路径,已省略
saveData(datalist,savepath)
if __name__=='__main__':
main()