5
二、设计实施
(一)数据采集与存储
爬虫程序已编写完成,运行“spider.py”文件即可对上海市旅游景点数据
进行采集并将其存储为 Excel 文件。下面将具体展示数据采集与存储的过程。
1、解析目标网站
数据从去哪儿网获取,在去哪儿网中点击“门票”,在弹出页面的搜索框中
输入“上海” , 就 可 以 进 入 本 次 爬 取 数 据 的 主 页 面 , 其 网页地址为:
https://piao.qunar.com/ticket/list.htm?keyword=%E4%B8%8A%E6%B5%B7®
ion=&from=mps_search_suggest。
在主页面中,显示出了上海市各个旅游景点的基本信息,所以在主页面要爬
取的字段为:景点名称、区域、热度、地址、整体评价、等级、最低价格、月销
量。另外,考虑到还要爬取详情页的信息,所以在此还要再抓取各个旅游景区的
详情页网址信息。
在详情页面中,显示出旅客对该旅游景点的评分和评论情况,所以在详情页
爬取的字段为:用户评分和评论个数。
2、爬取数据
根据去哪儿网的网页结构,编写 get_one_page()方法、parse_page()方法
和 get_score_content()方法实现样本数据的抓取。get_one_page()方法是为了
抓取单个页面内容;parse_page()方法是为了解析网页,提取主页面信息,本次
设计需要爬取的景点名称、区域、热度、地址、整体评价、等级、最低价格、月
销量、网址信息就是在该方法中获取;get_score_content()方法是为了提取详
情页信息,本次设计需要爬取的用户评分和评论个数信息就是在该方法中获取。
核心代码如下:
# 抓取单个页面
# 抓取单个页面 html
def get_one_page(url):
# 设置用于访问的请求头
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36
Edg/104.0.1293.70'}