用 Python 爬取网红城市大长沙!

本文利用Python爬虫获取并分析了长沙的景点和美食数据。橘子洲、岳麓山等景点名列前茅,文和友、臭豆腐等美食深受游客喜爱。此外,还探讨了数据获取、前期处理、美食分布等,为长沙旅游提供参考。

这两天获取了两份关于长沙的数据:长沙景点和长沙美食,之后进行了分析,如果有朋友想去长沙或者周边城市玩,要仔细看看喔。

image

导入库

长沙景点

数据获取

长沙景点的数据获取方法和之前那篇关于厦门的文章是一样的,只是重新跑了一遍代码,具体过程不再阐述,感兴趣的朋友可以看之前的文章,爬取的字段:

中文名

英文名

攻略数

评价数

位置

排名

驴友占比

简介

具体的源代码如下:

image

最终数据有1152条,数据中绝大部分是长沙的景点数据,也有少量少量周边城市,比如:宁乡、浏阳等的数据,整体的数据前5行如下:

下面重点介绍数据分析的过程

整体情况

首先看看整体的数据情况:

image

很显然:橘子洲、岳麓山、岳麓书院、太平老街排名靠前

排名靠前景点

看看排名靠前的景点是哪些?

image

通过排名我们发现:橘子洲(烟火、大桥、天心阁)、岳麓山(书院)、黄兴路步行街、马王堆汉墓遗址、湖南省博物馆,整体排名很靠前,深受游客们欢迎,具体看看排名前20的景点:

[图片上传失败…(image-809a5a-1633093980387)]

评论火爆景点

很多游客到了一个景点喜欢写评论,看下哪些景点获得大量的评论:

image

攻略在手,旅游不愁

出门旅游之前最好还是做一份旅游攻略,看看提供攻略最多的前10景点是哪些:

Python实现城市数据爬取可以根据不同的数据源和需求采用不同的方法,以下是一些示例: ### 爬取驴友数据 对于爬取驴友数据,可以使用`pandas`库对爬取到的数据进行处理。例如爬取长沙驴友数据,假设已经将数据存储在`changsha`这个`DataFrame`中,并且驴友数据存储在`lvyou`列,类型为字符串且带有`%`符号,可按如下操作处理数据,去掉`%`符号并取出左边的数值,方便后续画图: ```python import pandas as pd # 去掉%取出左边数据 changsha["lvyou_number"] = changsha["lvyou"].apply(lambda x: x.split("%")[0]) changsha["lvyou_number"] = changsha["lvyou_number"].astype(int) changsha.head() ``` 这样就可以完成对驴友数据的处理,此过程涉及到数据爬取后的清洗操作,前提是已经完成了数据的爬取,可能使用了`requests`、`BeautifulSoup`等库进行页数据的爬取 [^1]。 ### 爬取热门城市景点数据 爬取热门城市景点数据时,除了爬取还涉及到数据的存储。以张家界景点数据为例,使用`csv`模块将爬取的数据写入`csv`表格: ```python import csv f = open('张家界景点.csv', mode='a', encoding='utf-8-sig', newline='') csv_writer = csv.DictWriter(f, fieldnames=['景区', '星级', '地区', '热度', '销量', '地址', '价格', '简介', '详情页']) csv_writer.writeheader() ``` 在实际爬取景点数据时,可能会使用`requests`库发送请求获取页内容,使用`BeautifulSoup`或者`lxml`库解析页内容,提取所需的景点信息,最后按照上述代码将数据写入表格 [^2]。 ### 爬取旅游团数据 爬取旅游团数据可通过筛选`XHR`数据来定位所需数据。例如爬取携程旅游团数据,通过`XHR`筛选数据,逐个查找以及英文提示,定位到所需数据。以下是一个简单示例,假设已经获取到了包含旅游团评论信息的`JSON`数据: ```python import requests # 假设这是请求的URL url = 'https://example.com/tour_data' response = requests.get(url) if response.status_code == 200: data = response.json() # 处理数据,例如提取评论内容 for item in data: comment = item.get('content') print(comment) ``` 在实际应用中,需要根据具体的页结构和数据接口来调整请求的`URL`和解析数据的方式 [^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值