元旦马上就要到了,难得的3天小长假,玩肯定是要去玩的,但去哪儿玩是个问题。于是,笔者以旅游热门城市厦门为例,用Python获取了去哪儿网的相关景点数据,包括景点名称、地区、评分、销量、价格、坐标等字段,对数据进行可视化并作简单分析,以求找到性价比较高的景点。
数据获取
去哪儿网数据采集相对简单,找到真实url后,构造参数拼接,用request请求到json数据,以追加模式将数据存储为csv文件即可。
爬虫核心代码如下:
# -*- coding = uft-8 -*- # @Time : 2020/12/25 9:47 下午 # @Author : 公众号 菜J学Python # @File : 去哪儿.py import requests import random from time import sleep import csv import pandas as pd from fake_useragent import UserAgent def get_data(keyword,page): ua = UserAgent(verify_ssl=False) headers = {"User-Agent": ua.random} url = f'http://piao.qunar.com/ticket/list.json?keyword={keyword}®ion=&from=mpl_search_suggest&page={page}' res = requests.request("GET", url,headersheaders=headers) sleep(random.uniform(1, 2)) try: resres_json = res.json() #print(res_json) sight_List = res_json['data']['sightList'] print(sight_List) except: pass if __name__ == '__main__': keyword = "厦门" for page in range(1,100): #控制页数 print(f"正在提取第{page}页") sleep(random.uniform(1, 2)) get_data(keyword,page)
数据处理
导入相关包
首先导入数据处理和数据可视化相关第三方库,便于后续操作。
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib