元旦马上就要到了,难得的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,headers=headers)
sleep(random.uniform(1, 2))
try:
res_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 inline
plt.rcParams['fo