爬取分析—去哪儿景点热度

去哪儿网上海景点数据爬虫分析 盼望着盼望着,五一小长假终于到来 在这四天假期里,相信有很多同学十分纠结,也许你想着出去浪,结果一出门...... 可是这么多天假期,怎能甘心呆在宿舍做个快乐肥宅? 我们爬取了去哪儿网,获得了上海1500+景点数据(不得不说原来上海有这么多可以玩的地方),用数据来向你分析上海景点。 01数据获取和展示 部分代码 部分数据一览 ... 阅读详情

本文主要采用selenium(PhantomJS)模拟浏览器分析爬取去哪儿的国内所有省份10000多个景点信息,并保存在MongoDB中提取分析景点热度、省份旅游热度、景点描述词云等。

代码已托管GitHub,luozhengszj/spider

确定爬取目标

去哪儿景点,目标站点为:http://piao.qunar.com/ticket/list.htm?keyword=广西&region=&from=mps_search_suggest
。其中的月销量从一定程度上反映了该景点该月份的热度,并且由省份选取景点,也能一定程度上反映了该省份的旅游热度。

工具使用

本次爬取采用selenium(PhantomJS)模拟浏览器、MongoDB进行存储、数据可视化wordcloud和pyecharts。

爬取流程

  • 分析URL

keyword=省份,点击第二页可发现url:http://piao.qunar.com/ticket/list.htm?keyword=广西&region=&from=mps_search_suggest&page=2,可发现page=2为第二页,因此可构造url。

def search(KEY_WORD,page):
    print('正在爬取'+KEY_WORD)
    try:
        data = {
            'keyword': KEY_WORD,
            'region':'',
            'from': 'mps_search_suggest',
            'page': page
        }
        queries = urlencode(data)
        url = base_url+queries
        brower.get(url)
        get_tourist()

    except TimeoutException:
    return search(KEY_WORD,page)
  • 解析网站元素

先上代码:

def get_tourist():
    # 等待加载函数 http://phantomjs.org/api/
    hot = wait.until(
        EC.element_to_be_clickable((By.CSS_SELECTOR, "#order-by-popularity"))
    )
    hot.click()
    wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "#search-list .sight_item"))
    )

    # 获取源网页
    html = brower.page_source
    doc = pq(html)
    items = doc('#search-list .sight_item').items()
    for item in items:
        tourist = {
            'name':item.find('.sight_item_caption .name').text(),
            'level': item.find('.level').text().strip(),
            'more_url':'http://piao.qunar.com'+item.find('.sight_item_about .sight_item_caption         .name').attr('href').strip(),
            'province':item.find('.area').text()[1:-1].strip().split('·')[0],
            'city':item.find('.area').text()[1:-1].strip().split('·')[1],
            'image':item.find('.loading a .img_opacity').attr('data-original'),
            'describe': item.find('.intro').attr('title'),
            'hot_num': item.find('.hot_num').text(),
            'price': item.find('.sight_item_price').text()[1:-1].strip(),
        }
        print(tourist)

可以自行选择保存什么元素,例如获取描述元素的过程:
去哪儿景点描述分析

通过图片我们可以看到景点描述就在各自景点为:class=“sight_item sight_itempos” 下面的:class=“intro color999” 这个DIV下面的title属性,因此采用PyQuery也就是写为:

doc('#search-list .sight_item').items()[0]item.find('.intro').attr('title') # 第一个景点的描述信息
  • 保存到MongDB

    client = pymongo.MongoClient(MONGO_URL)
    db = client[MONGO_DB]
    db[MONGO_TABLE].insert(result)

数据可视化

描述的词云代码(不清楚可直接留言):

def draw_word_cloud():
    import re
    import jieba
    import numpy as np
    from wordcloud import WordCloud, STOPWORDS
    new_data = data.dropna(subset=['describe'])
    json_data = new_data['describe'].tolist()
    test_data = ''.join(json_data)

    # 去掉非中文
    pattern = '[^\u4e00-\u9fa5]*'
    final_text = re.sub(pattern, '', test_data)
    default_mode = jieba.cut(final_text)
    text = ' '.join(default_mode)

    # 设置背景图
    alice_mask = np.array(Image.open(r'.\static\qq.jpg'))

    stop_words = set(STOPWORDS)

    # 设置字体
    font_name = path.join(r'D:\develop\python\spider\SimHei.ttf')

    # 过滤词
    stop_words.add('delete_word')
    wc = WordCloud(
        # 设置字体,不指定就会出现乱码,这个字体文件需要下载
        font_path=font_name,
        background_color='white',
        max_words=2000,
        mask=alice_mask,
        stopwords=stop_words)

    # generate word cloud
    wc.generate(text)

    # store to file
    wc.to_file('.\static\词云.jpg')

词云效果如图:

描述词云

代码见gihub

去哪儿Github

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:爬取分析—去哪儿景点热度)

基于去哪儿网云南省旅游景点的分析与研究 基于"去哪儿网"云南省旅游景点的分析与研究 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 研究背景与意义 在当前大数据时代,利用数据分析技术对旅游行业进行研究,可以为旅游业提供有价值的洞见和决 阅读详情

相关推荐

爬虫 去哪儿旅游数据集

旅游推荐系统必备,3000多条数据,可用作测试数据集。

爬取去哪儿网 6000 多个景点数据告诉你,国庆哪里不是人山人海!

国庆长假已经过去一半啦,朋友们有多少是堵在了景区和路上?为了方便大家的出游选择,笔者爬取了去哪儿网上面的 6000 多个景点数据,包含景点评级、热度、销量等等数据,汇总成...

优快云资讯 4019

python爬取去哪网全国景区数据

python爬取去哪网全国景区数据,爬取地址为piao.qunar.com,注意去哪网有反爬虫策略,如果ip被封,可能使用手机热点

Python爬虫抓取去哪儿网景点信息告诉你国庆哪儿最堵

摘要 本文主要介绍了使用Python抓取去哪儿网站的景点信息并使用BeautifulSoup解析内容获取景点名称、票销售量、景点星级、热度等数据,然后使用xlrd、xlwt、xlutils等库来处理Excel,写入到Excel中,最后使用matplotlib可视化数据,并用百度的heatmap.js来生成热力图。 首先,上张效果图: 如果想了解更多Python的伙伴或者小白中...

dftgcdf45645466的博客 829

爬取马蜂窝旅游数据,包括酒店、美食、景点的评论数据以及游记数据(2021.6.28可用)

马蜂窝旅游数据,包括酒店、美食、景点的评论数据以及游记数据 仅用在输入目的地或者关键词可以爬取关于目的地的所有酒店评论、美食评论、以及景点自身评论等数据以及游记数据 具体数据 酒店评论、美食评论、以及景点自身评论: 评论用户、评论用户ID、用户等级、评论内容、评论有用性、评论时间等等 游记内容: 游记地址、浏览量、评论量、游记内容、游玩时间、游玩天数、同行人等等

stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。 需求: 使用stm32H743的ADC采集5路ovrc

xtqbp的博客 4364

python去哪儿网的旅游景点信息

爬取过程分析: 1、网站url:‘https://piao.qunar.com/ticket/list.htm?keyword=北京&page=1’ 2、http请求方法为get方法 3、用beautifulsoup提取所需要的信息 4、将爬取的信息存至本地 具体代码如下: import requests from bs4 import BeautifulSoup class QuNa...

Candy_boy 1335

Linux安装Docker(图文解说详细版)

第一步,下载docker 下载地址: https://download.docker.com/linux/static/stable/x86_64/ 这次的演示我们使用docker-18.06.3-ce.tgz 这个版本 第二步,上传到云服务器上面 使用rz命令上传或者fltp工具进行上传 第三步,解压文件 第四步,将解压出来的docker文件复制到 /usr/bin/ 目录下 这么做的目的是将docker交给linux自己去管理,类似spring中的ioc(猜测,非正经知识) cp docker

编码人生 1万+

干货|Python爬取《去哪儿》攻略库,制作一份详细的旅行攻略,疫情后来一场说走就走的旅行!

去哪儿是中国领先的在线OTA网站,为消费者提供机票、酒店、会场 、度假产品的实时搜索,并提供旅游产品团购以及其他旅游信息服务。去哪儿网站上有丰富的图片、评论数据,这些大量的数据对于从事数据岗位的来说的确是一种福利,有了这些我们可以练习爬虫技能、数据分析与可视化,漂亮的图片做文案素材也是一种不错的选择。 疫情总会过去的,宅了这么久,相信很多人疫情后都会来一场说走就走的旅行。小编今天准备爬取去哪儿的攻略库,并制作了一份详细的数据分析、可视化的旅行攻略。 网页分析 爬虫流程三步曲: 打开网站,分析网页上的数据

Python学习与数据挖掘 4177

系统架构最佳实践 -- 统一身份认证系统

设计和实现一个高效、安全的统一身份认证系统需要考虑到系统架构设计、用户认证与授权、用户身份管理、安全性保障、日志记录与审计、高可用性与容错性,以及用户体验优化等多个方面。通过合理的架构设计、安全措施和用户体验优化,可以构建一个满足用户需求、提供安全可靠的身份认证服务的系统。本文将总结统一身份认证系统的架构设计与实践经验,帮助读者了解如何设计和实现一个高效、安全的统一身份认证系统。统一身份认证系统应支持详细的日志记录和审计功能。通过合理的身份认证策略和授权机制,可以确保用户身份的准确性和信息的安全性。

xiaoli8748的专栏 1709

深度学习100例-卷积神经网络(CNN)彩色图片分类 | 第2天

文章目录前期工作设置GPU导入数据标准化可视化构建CNN网络编译训练模型预测模型评估 前期工作 设置GPU 如果使用的是CPU可以忽略这步 import tensorflow as tf gpus = tf.config.list_physical_devices("GPU") if gpus: gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量

“365天深度学习训练营”报名进行中~ 7856

python爬虫去哪儿网上爬取旅游景点14万条,可以做大数据分析的数据基础

clums = ['省份', '城市','景点数','景点名','文章数','评论数','评分','占比','简介']df=pd.read_csv('去哪儿网城市.csv',encoding='utf-8')遍历每一页的URL,解析页面内容,并提取景点的各种信息。将提取的信息写入CSV文件中。def regnum(s):#提取爬取到的字符串中的数值。:根据给定的城市URL,获取该城市旅游景点的总数。然后根据每页10条的规则,计算出需要爬取的页数。读取包含城市链接的CSV文件。创建CSV文件,并写入列名。

weixin_49081159的博客 3007

一文看懂EMMC原理及工作过程

CMD:用于设备初始化和命令传输的双向通道, CMD信号有2种工作模式:1#:漏极开路--->用于初始化模式2#:推拉--->用于快速命令传输其中命令从eMMC主机控制器发送到eMMC设备,响应从设备发送到主机。DAT [7:0]:双向数据信号,模式包括:1(DAT0);默认情况下,通电或重置后,只有DAT0用于数据传输。DAT信号在推挽模式下工作,eMMC设备包括数据线DAT1-DAT7的内部上拉。进入4位模式后,设备立即断开线路DAT1、DAT2和DAT3的内部上拉;

Airer_00的博客 2039

Python安徽省周围景区数据可视化

数据获取流程 首先选择相应的网站,我选择途牛网上获取与全国景点分布有关的信息,分析网页。定位我需要的数据,我发现景区名称和景区分属的地区分别处于网页的h3内a标签内,根据标签的属性我可以定位到它们的具体位置。以同样的方法分析网页源代码,可以找到游客满意度,游客点评数和门票价格的与景点相关的信息,使用python的requets库和beautifulsoup库抓取来自途牛网的全部旅行信息,然后将数据保存为dataframe形式,然后使用dataframe的to_csv()方法将所抓取的数据以.csv的格式保

weixin_44911248的博客 3629

24、汽车黑客技术全解析:诊断代码、车库创建与系统攻防

本文深入探讨了汽车黑客技术的核心内容,包括诊断代码模式与参数ID、创建开放车库社区、汽车系统相关技术、硬件与软件工具、攻击与防御手段,以及车辆通信与网络安全。无论你是汽车安全研究人员、爱好者还是开发者,都能从中获取全面的技术解析与实践指南。

Apple的专栏 229

动态时间规整(Dynamic Time Warping,DTW):让时间序列分析不再枯燥和代码全分析

动态时间规整(DTW)是一种用于比较时间序列相似性的算法,特别适用于处理长度不同或时间轴不对齐的序列。本文介绍了DTW的核心概念,包括其通过非线性对齐解决时间扭曲问题的能力,以及在语音识别、金融分析等领域的应用。通过Python代码示例,演示了如何计算两个模拟时间序列的DTW距离,并可视化最优对齐路径。结果显示,DTW能够有效捕捉序列间的相似模式,即使它们在时间轴上存在偏移或伸缩。该算法通过最小化累积距离来评估相似性,得分越低表明序列间相似度越高。

此星光明博客 163

盛夏海边,用Python分析青岛哪些景点性价比高

作者 | 志斌来源 | 志斌的python笔记头图|付费下载于 ICPhoto在经过几年的热潮之后,人工智能AI算法已经在各行各业广泛使用了。例如在工业制造中,利用人工智能监测仪器仪...

AI科技大本营 962

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

国庆不去哪儿:用python爬虫爬取热门景点并生成热力图

前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读,零基础可以去看我之前的文。(咳咳,不能总更小白文,这样显得我不(mei)够(you)专(xue)业(xi))。金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一度伟大祖国母亲的生日趴体(无心上班,迫不及待想为祖国母亲庆生!)。那么问题来了,去哪儿玩呢?...

丿灬安之若死 1677

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

我用Python爬取了全国4500个热门景点,告诉你国庆哪儿最堵?

转载自:http://developer.51cto.com/art/201709/551727.htm作者:大吉大利小米酱(51CTO)金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获...

公众号-老炮说Java 397

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

基于Python爬虫的热门旅游景点数据分析平台的设计与实现

本文介绍了一个基于Python+Django框架的热门旅游景点数据分析与可视化系统。系统采用MySQL数据库,结合爬虫技术从去哪儿等旅游网站获取景点数据(包括类型、评分、热度等),经过数据清洗和分析处理后,通过图表、地图等可视化方式展示结果。该系统为旅游管理者提供决策支持,帮助优化资源配置;同时为游客提供便捷的旅游信息查询服务。开发采用前后端分离架构,前端使用Vue.js框架实现交互式界面,具有重用性高、维护性好的特点。文中还展示了部分核心代码和系统效果图,验证了平台的实用性和功能性。该研究为旅游行业智能化

qq_1406299528的博客 804

国庆长假已结束,Python 告诉你 6 亿国人都去哪儿浪了

2020 注定是不平凡的一年,一开年就被新冠疫情来了当头一棒,一瞬间大家都不约而同的采取家里蹲策略,在政府的得力领导下,全部人民上下一条心,到了四五月份终于将疫情稳定控制住了,时隔半年,国内疫情早已趋于稳定,人们的生活也基本恢复正常。 恰逢国庆中秋两个节日重合,在家憋这么久的人们怎么能不出去看看祖国的大好河山。据新华网消息,整个国庆长假外出游玩人次达 6.37 亿人次,那么这么多人都到哪儿去玩了呢,今天我们就用 Python 做一个全国热门景区热点图。 整体思路 我们的思路是,在中国地图上标注出热

爬遍所有网站 117

data wrangling with python_国庆长假已结束,Python 告诉你 6 亿国人都去哪儿浪了附源码 - 耀扬

看到了网上的一篇文章,把完整源码附上据新华网消息,整个国庆长假外出游玩人次达 亿人次,那么这么多人都到哪儿去玩了呢,今天我们就用 Python 做一个全国热门景区热点图。入口先说程序入口:热门景点.html?from=mps_search_suggest_h发现去哪儿网有一个「热门景点」的内页,在首页输入框直接输入「热门景点」即可直达该页面。该网站还将这些热门景点进行了分类,比如人文景观,城市风...

weixin_39628186的博客 97
上一篇: 微信公众号上的一次爬虫
下一篇: VSCode中 Python3环境的设置
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值