前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python代码告诉你国庆哪些景点爆满

Python代码告诉你国庆哪些景点爆满

作者头像
Rookie
发布于 2019-08-08 14:42:02
发布于 2019-08-08 14:42:02
71100
代码可运行
举报
文章被收录于专栏:成猿之路成猿之路
运行总次数:0
代码可运行

前言

举国欢庆的国庆节马上就要到来了,你想好去哪里看人山人海了吗?还是窝在家里充电学习呢?说起国庆,塞车与爆满这两个词必不可少,去年国庆我在想要是我能提前知道哪些景点爆满就好了,就不用去凑热闹了。于是我开始折腾,想用 python 抓取有关出行方面的数据,便有了这篇文章

思考

(此段可跳过)要抓取出行方面的数据还不简单,直接去看看携程旅游、马蜂窝这类网站看看有没有数据抓取。但是实际上这些网站并没有比较好的格式化的数据供我们抓取,或许是我没找到吧。我在想,有没有什么折中的办法。然而,就这样半天过去了,突然想到,要出行肯定会查找相关的出行攻略吧,那么关键词就是一个突破口,可以查询百度指数来看看哪些景点被查询的次数最多,那么就可以大概知道哪些景点会爆满了。

统计结果

此次的统计结果只是从侧面反映景点爆满的问题,未必是完全准确的,仅供参考。此次统计的景点共有 100 个:

桂林、三亚、泰山的搜索量都是杠杠的,这第一梯队的地方能不去就别去了,去了也是人山人海的,爆满是无疑的了。

top0-10

第二梯队的搜索量也不差,日均搜索量还是上万的,谨慎行动。

top10-20

第三梯队下来就可以考虑考虑,为了避免不必要的塞车与等待,建议大家还是呆在家里吧!!!

top20-30

第四梯队应该没太大的问题,建议出去溜达溜达。

top30-40

都到第五梯队了,就可以放心地玩耍了。经历了那么多的烦心事,是该好好放飞一下自己了。

top40-50

爬虫技术分析

  • 请求库:selenium
  • HTML 解析:使用正则匹配
  • 数据可视化:pyecharts
  • 数据库MongoDB
  • 数据库连接:pymongo

爬虫分析实现

此次文章能够实现参考效果,完全是因为抖机灵。首先是选取爬虫来源,携程与马蜂窝没有结构化的数据,我们就换一种思路。首先是想到百度指数,如图:

百度指数

但是,分析源代码之后,你就会发现坑爹之处了,它的数据都是以图片展示的,你不能直接获取到源码,考虑到国庆马上就要到来,我换了一个指数平台,转战搜狗指数,这个平台可以直接获取到源数据,关键是,还有微信热度可以爬取。当然,你执意要使用百度指数,这里也是有方法的,抓取到数据之后,使用图像识别来识别文中的数据,提供一篇有思路的文章 [爬虫实战——四大指数之百度指数(三)]。

关于数据清洗方面,这里筛选了数据量过小,和数据量异常大的景点,详情在源码中查看。

搜狗指数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 这是数据展示的代码片段
def show_data(self):
    for index in range(5):
        queryArgs = {"day_avg_pv": {"$lt": 100000}}
        rets = self.zfdb.national_month_index.find(queryArgs).sort("day_avg_pv", pymongo.DESCENDING).limit(10).skip(index*10)
        atts = []
        values = []
        file_name = "top" + str(index * 10) + "-" + str((index + 1) * 10) + ".html"
        for ret in rets:
            print(ret)
            atts.append(ret["address"])
            values.append(ret["day_avg_pv"])
        self.show_line("各景点 30 天内平均搜索量", atts, values)
        os.rename("render.html", file_name)

爬虫代码实现

由于篇幅原因,这就只展示主要代码,详情请查看源码,点击阅读原文获取源码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 这是数据爬取的代码片段
def get_index_data(self):
    try:
        for url in self.get_url():
            print("当前地址为:" + url)
            self.browser.get(url)
            self.browser.implicitly_wait(10)
            ret = re.findall(r'root.SG.data = (.*)}]};', self.browser.page_source)
            totalJson = json.loads(ret[0] + "}]}")
            topPvDataList = totalJson["topPvDataList"]
            infoList = totalJson["infoList"]
            pvList = totalJson["pvList"]
            for index, info in enumerate(infoList):
                for pvDate in pvList[index]:
                    print("index => "+str(index)+"地址 => "+info["kwdName"] + "日期 => " + str(pvDate["date"]) + " => " + str(pvDate["pv"]) + " => " + str(
                        info["avgWapPv"]) + " => " + str(info["kwdSumPv"]["sumPv"]) + " => ")
                    self.zfdb.national_day_index.insert({
                        "address": info["kwdName"],  # 地名
                        "date": pvDate["date"],  # 日期
                        "day_pv": pvDate["pv"],  # 日访问量
                    })
                self.zfdb.national_month_index.insert({
                    "address": info["kwdName"],  # 地名
                    "day_avg_pv": info["avgWapPv"],  # 平均访问量
                    "sum_pv": info["kwdSumPv"]["sumPv"],  # 总访问量
                })
    except :
        print("exception")

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 成猿之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
可视化文档引擎全面更新,解锁文档新玩法
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下可视化文档引擎 Nocode/WEP 的最新更新。
徐小夕
2024/05/22
1450
可视化文档引擎全面更新,解锁文档新玩法
没灵感了,就做一个图表可视化编辑器玩玩吧
之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
徐小夕
2024/07/04
1030
没灵感了,就做一个图表可视化编辑器玩玩吧
基于文档自动生成内容站点,支持可视化可配置,还不快来试试?
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,最近也在迭代可视化文档知识引擎Nocode/WEP,目前已经实现基于文档内容自动生成内容站点,且支持自定义配置,接下来就和大家分享一下。
徐小夕
2024/06/04
1560
基于文档自动生成内容站点,支持可视化可配置,还不快来试试?
文档可视化+表单引擎,让数据交互更流畅!
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下最近开发的文档引擎 Nocode/WEP 的最新更新。
徐小夕
2024/05/14
1510
文档可视化+表单引擎,让数据交互更流畅!
就在上周,文档知识引擎Nocode/WEP又新增了3大炸裂功能!
之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
徐小夕
2024/06/18
2030
就在上周,文档知识引擎Nocode/WEP又新增了3大炸裂功能!
next-admin支持AI问答模块,完全开源!
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下最近开源的 Next-Admin 的最新更新。
徐小夕
2024/05/14
2150
next-admin支持AI问答模块,完全开源!
Nextjs+Antd5.0打造面向AI的文档可视化引擎(最新更新)
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下我开发的文档引擎 Nocode/WEP 的最新更新。
徐小夕
2024/05/06
2470
Nextjs+Antd5.0打造面向AI的文档可视化引擎(最新更新)
爆肝开发3个月,第三款可视化产品终于上线了
最近规划的新产品可视化文档引擎终于上线了,先后花费了3个月左右,从原型设计到技术调研,再到技术实现,历经艰辛,接下来就和大家一起分享一下最新的进展。
徐小夕
2024/05/23
1170
爆肝开发3个月,第三款可视化产品终于上线了
沉淀了一套可视化搭建方案,最终决定开源了
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,最近也在迭代可视化文档知识引擎Nocode/WEP,其中包含了搭建模块,由于最近精力有限,会聚焦于文档引擎部分,所以目前把搭建模块完全开源, 大家如果想学习研究低代码可视化的,可以参考一下这个上项目。
徐小夕
2024/06/04
4140
沉淀了一套可视化搭建方案,最终决定开源了
Nocode/Doc,可视化+ 零代码打造下一代文件编辑器
hi,大家好,我是徐小夕,之前和大家分享了《用零代码的思维设计文档引擎》的内容,承诺大家在10号上线内测版可视化文档编辑器——Nocode/Doc。 今天如约而至,接下来就和大家分享一下可视化文档引擎的最新内容和技术理念。
徐小夕
2024/04/14
1780
Nocode/Doc,可视化+ 零代码打造下一代文件编辑器
使用这个低代码工具, 人人都可以拥有自己的网站!
我今天我给大家来介绍一个低代码工具,是我的朋友徐小夕开发的。这个项目在Github已经开源并且拥有了 4.3k star . 使用这个工具你可以可视化飞速搭建你的站点。低代码可以说是目前行业内比较热门的话题,学习搭建的模式,为我们开发一些重复页面能提高极大的生产力,以下是这个项目的介绍。
秋风的笔记
2021/05/31
1.3K0
整理了12款开源拖拽库, 轻松上手可视化搭建
可视化导航地址:http://wep.turntip.cn/web?id=d1717408910631&uid=wep_251711700015023
徐小夕
2024/06/06
2.5K0
整理了12款开源拖拽库, 轻松上手可视化搭建
零代码可视化+AI的一些探索和实践
嗨,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码的技术实践,今天继续做一个系统性的复盘,聊聊这100天,Dooring零代码都做了些什么。
徐小夕
2024/04/26
2000
零代码可视化+AI的一些探索和实践
表单&试卷零代码搭建平台正式上线,支持源码部署
之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
徐小夕
2024/07/04
2260
表单&试卷零代码搭建平台正式上线,支持源码部署
如何评价Dooring低代码/零代码搭建平台?
大家好, 我是徐小夕, 之前一直在分享可视化低代码的一些实践, 围绕 H5-Dooring 零代码搭建平台也输出了很多技术文章, 最近2.7.0 版本也顺利迭代完成, 这里详细分享一下 H5-Dooring 无代码搭建平台技术方案.
徐小夕
2022/09/27
1.2K0
如何评价Dooring低代码/零代码搭建平台?
低代码开发平台核心功能设计——组件自定义交互实现
笔者最近一直在研究Lowcode(低代码)平台, 也做了非常多的实践, 对于页面可视化搭建平台有了基本的研发方向和解决方案, 后期会陆续分享我对低代码平台的一些理解和解决方案, 并在企业应用层做一些探索.
徐小夕
2020/11/17
3.8K0
低代码开发平台核心功能设计——组件自定义交互实现
低代码平台组件间通信方案复盘
3年前我开发了一款零代码搭建平台 H5-Dooring, 主要目的是想用更低的成本, 更快的效率, 上线 web 页面(其实是不想写重复的代码了,写麻了). 好在陆陆续续折腾了3年, 目前已经可以满足基本的页面设计和搭建能力, 并能快速上线页面.
徐小夕
2023/09/18
4250
低代码平台组件间通信方案复盘
Dooring可视化搭建平台数据源设计剖析
低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力, 笔者对企业迫切需要解决的问题做了如下总结:
徐小夕
2021/07/12
8300
从零搭建一款PC页面编辑器PC-Dooring
没有太多时间做PC端搭建化项目, 好在搭建平台很多原理都是通用的, 所以早在去年我就开发好了面向PC端的编辑器PC-Dooring, 虽然在设计上还有些不足(在后面的内容中会提到) , 但是基本模型已经实现, 接下来就和大家一起分享一下具体的实现.
徐小夕
2021/04/21
1.9K0
从零搭建一款PC页面编辑器PC-Dooring
创意大爆发!分享8款在线3D可视化制作软件
在当今数字化时代,3D可视化技术已成为许多行业中不可或缺的一部分。传统的3D建模软件通常需要专业技能和大量时间来创建复杂的3D模型和场景,这对于许多人来说可能是一个挑战。但是随着越来越多简单易上手的在线3D可视化制作软件的出现,快速创建逼真的3D模型和场景将变得不再困难。本期就为大家推荐7款好用的在线3D可视化制作软件,让你的创意大爆发!
徐小夕
2023/08/19
2.4K0
创意大爆发!分享8款在线3D可视化制作软件
推荐阅读
相关推荐
可视化文档引擎全面更新,解锁文档新玩法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档