Pyecharts项目实战:去长沙旅游有哪些好玩的?

来源:Python数据之道

作者:Peter

整理:Lemon

长沙,著名的"星城"、"娱乐之都",湖南省省会,素有“屈贾之乡”、“山水洲城”之名。每年都有很多的游客到长沙旅游,不仅是因为美食多,比如:文和友小龙虾、臭豆腐、糖油粑粑,以及网红奶茶茶颜悦色,还因为长沙真的有很多可以游逛的美景。

本文将结合实际的数据来告诉你,如果你想去长沙旅游,你应该去哪里玩。湖南欢迎你,长沙欢迎你!

系统环境

  • Macos

  • jupyter notebook

  • python3.7.5

  • Pyecharts 1.7.1

特别提醒下,Pyecharts 的版本一定要保持一致。

数据获取

导入库

首先我们需要导入各种库,这些库的主要功能如下

  • 爬虫请求发送及数据解析

  • csv 保存爬取到的数据

  • Pandas 处理爬取到的数据

  • Jieba 中文分词

  • Pyecharts 绘图专用库

import pandas as pd
import re
import csv
import json
import requests
import random

# 显示所有列
# pd.set_option('display.max_columns', None)

# 显示所有行
# pd.set_option('display.max_rows', None)

# 设置value的显示长度为100,默认为50
# pd.set_option('max_colwidth',100)

# 绘图相关
import jieba
import matplotlib.pyplot as plt
from pyecharts.globals import CurrentConfig, OnlineHostType   # 事先导入,防止不出图
from pyecharts import options as opts  # 配置项
from pyecharts.charts import Bar, Pie, Line, HeatMap, Funnel, WordCloud, Grid, Page  # 各个图形的类
from pyecharts.faker import Faker  # 自身数据
from pyecharts.commons.utils import JsCode   
from pyecharts.globals import ThemeType,SymbolType

爬取信息

先确定我们爬取的字段信息:

  1. 中文名:cn_title

  2. 英文名:en_title

  3. 排名:ranking

  4. 驴友百分比:lvyou

  5. 地点:location

  6. 简介:abstract

  7. 评论数:comment

  8. 攻略数:strategy

网页规律

首先看看网站 URL 的规律:

https://travel.qunar.com/p-cs300022-changsha-jingdian-1-1
https://travel.qunar.com/p-cs300022-changsha-jingdian-1-2
https://travel.qunar.com/p-cs300022-changsha-jingdian-1-3

我们发现是通过最后的数字来更新 URL 地址的,因此实际爬虫中我们构造了一个 URL 地址来循环爬取:

for i in range(1,165):
  "https://travel.qunar.com/p-cs300022-changsha-jingdian-1-{}".format(i)

单页源码获取

我们使用 requests 模块来发送爬虫请求:

url = "https://travel.qunar.com/p-cs300022-changsha-jingdian-1-1"

# 需要更换自己的请求头
headers = {"user-agent": "个人实际请求头"}

response = requests.get(url=url,headers=headers)
result = response.content.decode()

源码规律

每页有 10 个景点(最后一页可能没有),再看看每个页面源码的规律:每个 <li></li> 标签中代表一个景点

看看第一个景点(橘子洲)中 8 个字段信息所在的位置:

正则匹配单页数据

我们使用 re 模块通过正则表达式来解析需要爬取的字段。

关于正则表达式的使用,「Python数据之道」之前有过分享,大家可以点击链接前往:

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值