Python获取去哪儿旅游数据并作可视化攻略

2024-06-10 1295阅读

嗨喽,大家好呀~这里是爱看美女的茜茜呐

Python获取去哪儿旅游数据并作可视化攻略

开发环境:

  • 版 本: python 3.8

  • 编辑器:pycharm

    第三方库:

    • requests >>> pip install requests

    • parsel >>> pip install parsel

      模块安装:

      按住键盘 win + r, 输入cmd回车 打开命令行窗口, 在里面输入 pip install 模块名


      👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

      python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


      需求分析

      确定需要的数据

      找数据真实来源

      https://travel.qunar.com/travelbook/list.htm?order=hot_heat

      静态数据

      代码实现步骤

      1. 发送请求

      2. 获取数据

      3. 提取数据

      4. 保存数据

      数据获取

      导入模块

      import requests     # 发送请求 代码当中用来访问网站的模块
      import parsel       # 解析数据的模块
      import csv
      
      with open('攻略.csv', mode='a', encoding='utf-8', newline='') as f:
          csv_writer = csv.writer(f)
          csv_writer.writerow(['title', 'date', 'days', 'photo_nums', 'fee', 'people', 'trip', 'view', 'love', 'comment', 'href'])
      for page in range(1, 201):
          url = f'https://travel.qunar.com/travelbook/list.htm?page={page}&order=hot_heat'
      
      1. 发送请求
          response = requests.get(url=url)
      
      1. 获取数据
          html_data = response.text
      
      1. 提取数据
          # re / css / xpath
          # css: ul.b_strategy_list > li
          # xpath: //ul[@]/li
          select = parsel.Selector(html_data)
          lis = select.xpath('//ul[@]/li')
          # 二次的数据提取
          for li in lis:
              # li.css('h2 > a::text').get()
              title = li.xpath('./h2/a/text()').get()
              date = li.xpath('./p[@]//span[@]/text()').get("")
              days = li.xpath('./p[@]//span[@]/text()').get("")
              photo_nums = li.xpath('./p[@]//span[@]/text()').get("")
              fee = li.xpath('./p[@]//span[@]/text()').get("")
              people = li.xpath('./p[@]//span[@]/text()').get("")
              trip = li.xpath('./p[@]//span[@]/text()').get("")
              view = li.xpath('./p[@]//span[@]/span/text()').get("")
              love = li.xpath('./p[@]//span[@]/span/text()').get("")
              comment = li.xpath('./p[@]//span[@]/span/text()').get("")
              href = li.xpath('./h2/a/@href').get()
              print(title, date, days, photo_nums, fee, people, trip, view, love, comment, href)
      
      1. 保存数据
              with open('攻略.csv', mode='a', encoding='utf-8', newline='') as f:
                  csv_writer = csv.writer(f)
                  csv_writer.writerow([title, date, days, photo_nums, fee, people, trip, view, love, comment, href])
      

      数据可视化

      import pandas as pd
      from pyecharts.commons.utils import JsCode
      from pyecharts.charts import *
      from pyecharts import options as opts
      
      data = pd.read_csv('去哪儿_数分.csv')
      data
      

      Python获取去哪儿旅游数据并作可视化攻略

      data.info()
      
      data = data[~data['地点'].isin(['攻略'])]
      data = data[~data['天数'].isin(['99+'])]
      data
      
      data.drop_duplicates(inplace=True)
      
      data['人均费用'].fillna(0, inplace=True)
      data['人物'].fillna('独自一人', inplace=True)
      data['玩法'].fillna('没有', inplace=True)
      
      data['天数'] = data['天数'].astype(int)
      
      data = data[data['人均费用'].values>200]
      data = data[data['天数']}
      for j in range(len(word_list)):
          for i in word_list[j]:
              if i not in dict:
                  dict[i] = 1
              else:
                  dict[i]+=1
      #print(dict)
      list = []
      for item in dict.items():
          list.append(item)
      for i in range(1,len(list)):
          for j in range(0,len(list)-1):
              if list[j][1]"normal": {
           "barBorderRadius": [30, 30, 30, 30],
           'shadowBlur': 10,
           'shadowColor': 'rgba(0,191,255,0.5)',
           'shadowOffsetY': 1,
           'opacity': 0.8
       }
                                             })
              
                              )
      pie.render('3.html')
      
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]