python 爬取携程全国旅游景点信息-2024.4.13

 1. 概述

         携程网是中国领先的在线旅行服务公司,提供酒店预订、机票预订、旅游度假、商旅管理等服务。携程网上有大量的旅游景点和酒店信息,这些信息对于旅行者和旅游业者都有很大的价值。通过爬虫技术,我们可以从携程网上获取这些信息,并进行数据清洗、数据分析、数据可视化等操作,从而得到有用的洞察和建议。

 2. 安装requests 库  

                在开始之前,请确保你已经安装了以下 Python 库:

                requests:用于发送 HTTP 请求并获取网页内容。

                你可以使用 pip 来安装这些库:

pip install requests 

3. 爬取携程旅游网站数据

        首先,我们需要确定要爬取的页面。 假设我们想要获取携程旅游网站上某个目的地的旅游信息。如下例如北京。

      当前接口 链接 和 post 参数

url = 'https://m.ctrip.com/restapi/soa2/18109/json/getAttractionList?_fxpcqlniredt=09031015313388236487&x-traceID=09031015313388236487-1712974794650-8267936'
 data = {"index":1,"count":10,"sortType":1,"isShowAggregation":true,"districtId":1,"scene":"DISTRICT","pageId":"214062","traceId":"14f9745c-92ad-f5c5-07bb-171293c80647","extension":[{"name":"osVersion","value":"10"},{"name":"deviceType","value":"windows"}],"filter":{"filterItems":[]},"crnVersion":"2020-09-01 22:00:45","isInitialState":true,"head":{"cid":"09031015313388236487","ctok":"","cver":"1.0","lang":"01","sid":"8888","syscode":"09","auth":"","xsid":"","extension":[]}}

4. 开始正式代码

        

headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0',
        'Cookie': 你的cookies
    }

    html = requests.post(url, headers=headers, json=data).json()
    attractionList = html['attractionList']
    for attraction in attractionList:
        data = attraction['card']
        commentCount = data['commentCount']
        commentScore = data['commentScore']
        coordinate = [data['coordinate']['latitude'], data['coordinate']['longitude']]
        coverImageUrl = data.get('coverImageUrl','')
        # 距离
        distanceStr = data.get('distanceStr','')
        # 地点
        displayField = data.get('displayField', None)
        heatScore = data.get('heatScore','')
        # 景点名
        poiName = data['poiName']
        isFree = data['isFree']
        if isFree:
            price = 0
            # 原价
            marketPrice = 0
        else:
            price = data.get('price',0)
            # 原价
            marketPrice = data.get('marketPrice',0)
        # 类别信息
        sightCategoryInfo = data.get('sightCategoryInfo','')
        # 标签
        tagNameList = data.get('tagNameList','')
        # 5a
        sightLevelStr = data.get('sightLevelStr', None)

5. 保存到csv

f = open('csv/全国各景点全.csv', 'w', encoding="utf-8", newline='')
 csvwrite = csv.writer(f)
csvwrite.writerow(['城市', '景点名', '地点', '距离', '坐标', '评论数','评论分','热评分','封面','是否免费','价格','原价','类别信息','标签','是否5A'])
        csvwrite.writerow([city,poiName,displayField,distanceStr,coordinate,commentCount,commentScore,heatScore,coverImageUrl,isFree,price,marketPrice,sightCategoryInfo,tagNameList,sightLevelStr])

6 .通过获取全国 city id,可请求全国景点数据并保存

        全国景点数据csv 地址 https://download.csdn.net/download/britlee/89115745

基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip基于python爬取携程旅游网站旅游景点数据及评论数据项目源码(python大作业).zip 【资源说明】 1、项目源码在上传前,都经过本地成功运行,功能测试无误。请放心下载使用!答辩评审平均分达到97.5分,有问题请及时沟通交流,帮助解决问题,售后有保障。 2、适用人群:计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、机械电子信息等相关专业背景的在校大学生、专业老师 行业从业人员等下载使用。 3、用途:项目代表性强,具有创新性和启发性,故具有挺高的学习借鉴价值。不仅适合小白入门进阶,还可作为毕设项目、课程设计、大作业、比赛初期项目立项演示等。 4、如果基础还不错,又热爱学习钻研,也可基于此项目基础上进行修改进行二次开发。 本人也是技术狂热者,如果觉得此项目对您有价值,欢迎下载使用!
Python爬虫用于抓取网站数据,如携程网上的景点信息,通常涉及到网络请求、HTML解析和数据提取等步骤。以下是基本的流程: 1. **导入库**:首先需要安装一些必要的库,如requests用于发送HTTP请求获取网页内容,BeautifulSoup或lxml用于解析HTML文档。 ```python import requests from bs4 import BeautifulSoup ``` 2. **发送GET请求**:使用requests.get()函数访问携程景点页面URL。 ```python url = "https://www.ctrip.com/travel/city_destinations/" response = requests.get(url) ``` 3. **解析HTML**:将响应内容转化为BeautifulSoup对象,便于处理。 ```python soup = BeautifulSoup(response.text, 'lxml') ``` 4. **定位元素**:找到包含景点信息的HTML标签,这可能包括景点名称、价格、描述等,通过CSS选择器或XPath表达式定位。 5. **提取数据**:遍历定位到的元素,并提取所需的信息。 6. **存储数据**:可以将数据存入字典、列表或CSV文件中,甚至直接插入数据库。 ```python data_list = [] for item in soup.find_all('div', class_='list-item'): name = item.find('h3').text price = item.find('span', class_='price').text # 更多信息... data_list.append({'name': name, 'price': price}) ``` 7. **保存结果**:将数据写入文件或数据库。 ```python with open('ctrip_places.txt', 'w') as f: for item in data_list: f.write(f"{item['name']}, {item['price']}\n") ``` 8. **异常处理**:爬虫过程中可能会遇到网络问题或网站结构变化,所以需要适当处理异常。 记得在实际操作时遵守网站的robots.txt规则,并尊重版权法律,合理使用数据。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

britlee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值