基于热门旅游景点数据的爬取
1.至少3个及以上的旅游网站数据;
2.爬取数据应包括字段:景点名称、景点星级、景点热度、景点地址、景点价格、景点简介、景点详情、用户评论用户名称,评论,时间等。
3.每个网站采集数据2000条以上一个景点为一条数据;每个网站基本含有200千以上的旅游景点。
4.对脏数据进行清洗和并实现数据库存储。
数据的清洗与整理:1统一数据格式;2缺失值处理;(3)数据的合并与去重;5处理异常值。
将清洗的后的数据实现数据库储存。
5.确定热门旅游景点分析目标,完成3个以上可视化图表:
所有数据弄完之后,按需求分析数据,做出可视化图表。
我采用了Scrapy框架对热门旅游景点进行爬取,我选择这个爬虫框架的原因是它有以下优点:
1.采用可读性更强的xpath代替正则表达式,速度更快。
2.Scrapy是异步的,可以灵活调节并发量。
3.写middleware,方便写一些统一的过滤器。
4.可以同时在不同的url上爬行。
5.支持shell方式,方便独立调试。
6.通过管道的方式存入数据库,灵活,可保存为多种形式。
有利就有弊,它的弊端就是:
1.自身去重效果差,消耗内存,且不能持久化
2.对于需要执行js才能获取数据的网页,爱莫能助
3.兼容了下载图片与视频,但是可用性比较差
4.无法用它完成分布式爬取
5.基于twisted框架,运行中的exception是不会干掉reactor反应器,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉,预警系统简单的使用邮件,很不友好。
所以我们可以根据Scrapy的功能来绘制E-R图,如下:
除了scarpy框架,我还运用了parsel第三方库。它是由scrapy团队开发,是将scrapy中的parsel独立抽取出来的,可以轻松解析html,xml内容,获取需要的数据。相比于BeautifulSoup,xpath,parsel效率更高,使用更简单。
1.爬取穷游网站的代码:
2.爬取去哪了网站的代码:
3.爬取携程网站的代码:
每个代码都能爬取3000条左右的数据。
得到三个不同网站爬到的数据,首先是把它们合并到一起。
在观察爬到的数据,发现有许多的空值而且数据量较大,所以我用到了最简单的直接删除法:df1=df.dropna()
数据可视化是指借助于图形化手段,清晰有效地传达与沟通信息,使用户能够快速地识别模式,交互式可视化能够让决策者对细节有更深层的了解。数据可视化与信息图形、信息可视化、科学可视化和统计图形密切相关,数据可视化实现了成熟的科学可视化领域和信息可视化领域的统一。