书目的类型词云图,查看晋江书大多属于哪些类型?从中窥见读者爱看什么类型的书?对应什么样的人群?市场需要什么样的书?未来市场会有一个怎样的走向?
我想看看在晋江文库前12页,哪几年产出的书比较多,比较受人们喜欢。
利用字数,书籍积分,收藏数,评论数分析作者的综合能力,晋江平台签约的价值,影视化作品的考量。
(3)搞明白需求以后我进行爬虫程序编写,爬虫我在用请求头请求的时候发现晋江不给予响应,可能设置了反爬虫,因为时间紧张,我没有深究,直接使用了无界面浏览器。使用无界面浏览器访问晋江文学城网页截图如图所示。
图15.无界面浏览器访问晋江文学城网页截图
结果在使用无界面浏览器后发现,晋江网站还设置了一个不太高端的反爬虫,他在我要提取的xpath中多加了一个没有含义的td标签,遍历目录的时候不能去除,而且继续用xpath是会显示超出范围。然后我就困住了,经过自主在网上进行查询和测试,我最终采用xpath标签定位进行数据提取,在遍历下遍历,部分遍历代码如下所示。
for i in range(1, 13): #首个遍历
driver = webdriver.PhantomJS(executable_path=r'C:\Users\lixue\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe')
url = 'http://www.jjwxc.net/bookbase_slave.php?orderstr=4&endstr=&page={}&booktype=http://www.likecs.com/'.format(i)
driver.get(url=url)
tree = etree.HTML(driver.page_source)
book_list = tree.xpath('//table[@class="cytable"]/tbody/tr[position()>=2])
#二次遍历,就在这个地方
在网络十分艰难的情况下,原定下载50页列表的我不得不只下载12页列表,而且爬虫过程中也是遇见了各种问题。爬下来的数据保存到一个Excel列表里,近600条数据。可能并不会具有很强的代表性,但是足够进行数据分析。生成的Excel列表部分截图如图所示。
图16.部分Excel列表截图
(4)我并不是爬虫结束才开始数据分析工作,我是在爬取数据的同时进行的数据分析代码编写,分段测试,待数据爬完之后,重新启动数据分析,形成最终结果。这样做比较节省时间。
数据分析部分代码如图所示:
图17.数据分析部分代码
图18.数据分析部分代码(词云)
(5)对晋江文学城爬取的数据进行分析的结果就是:
600条数据中作者名产生的词云图如下图所示:
图19.作者词云(卡通轮廓版) 图20.作者词云(普通版)
由此可以看出Priest、拉棉花糖的兔子、巫哲、漫漫何其多、西子绪等字眼出现比较大,说明在晋江文学城书库前600条作者名字中,这几位作者的产出书目比较多、优质作品多、符合读者胃口且文采上佳。
600条数据中作品类型词云图如图所示:
图21.作品类型词云图