天域至尊 发表于 2019-1-21 23:07

【python】故宫预定人数纪录爬虫

在此承认这个爬虫low的很,很的很!拜求小白和大佬不要骂……这次全当吸引外行同学的兴趣吧,预祝他们早日入坑。所以跟生活的联系我会多说些,技术上没多少好讲的,一日入门级的爬虫。
额,这个主要是我写的一个小爬虫,很简单。因为女友要跟姐姐和丈母娘春节去故宫玩,据说故宫搞了个什么展览,挺不错的。你们知道,关于未来老婆和丈母娘的事,那必须安排,必须往做好的安排!
一句话,安排!

门票不是问题,20块一张,便宜!但是问题是,故宫啊!春节啊!你要去见证在21世纪的当代,我国及其宏伟的人口基数以及传统的从众心理加上流行的网红集中打卡。
也就是说,没有数据支撑,这次精心安排可能就是 故宫一日游,精选特色景点,高个看脑袋,矮个看屁股。走路不动腿,大冬天保证挤得你汗如雨下,濒临中暑。
试想下,要是在大冬天,露天大院子的环境下,硬是靠广大的人民群众把丈母娘挤中暑了,那就玩大啦!

所以,没有数据支撑的安排,都是找怼。啥也不说了,收集数据。

首先需要的数据是故宫门票的销售趋势,以此来判断哪一天会比较万众仰望,然后错过高峰期。
那我就需要纪录每一段时间的销售数量,可以一天采集一次,一小时采集一次,十分钟采集一次。自己随意定,总之间隔时间短点比较好,但是也不是越短越好,间隔时间太短反而增大了数据量和工作量。


第一个问题:数据从哪里采集。
我在故宫的官网售票网页上,发现它会提醒每天还有多少余票。

我们发现这里果然有余票数量,那么数据会不会在源代码中呢?
这种数据往往是后来单独请求的,直接放入源代码的不是很多,但是不妨一试啊,看第一个1月22日,余票56812人。我们去源代码搜索下。
ctrl+u 打开源代码,ctrl+f搜索,输入56812,哎,搜索到了,真简单!

第二个问题,怎么把数据取出来
我这个用的比较简单,xpath直接取到<li>标签下的数据,再用python的字符串处理函数处理。
因为这部分比较简单,没啥好细讲的,一会看源代码吧。
第三个问题,软件大致流程

绘图工具:亿图图示。吾爱站链接:https://www.52pojie.cn/thread-851432-1-1.html
第四个问题,编程

第五个问题,运行环境
我是在我云服务器上运行的,定的计划任务,每十分钟获取一次,存储到云服务器的数据库。
数据表列:

fdate是程序执行时的日期
ftime是程序执行时是几点几分
tdate是记录的是哪一天的余票
num是有多少余票
六、结果
给大家看看执行一会的数据

已经77条数据了!

技术的广泛程度决定找老婆的顺利程度。

天域至尊 发表于 2019-1-21 23:12

我去,我又忘了发源码了,发源码可以捞点币啊!算了,送你们了,别忘了给个评分啊,老铁们!百度网盘链接:https://pan.baidu.com/s/1H22bYEP9UDepzZu3-O4G0A
提取码:3dp4

睡觉不做梦 发表于 2019-1-21 23:33

兴趣驱动技术~最后一句话很正确~

_小白 发表于 2019-1-21 23:42

谢谢楼主分享

dayer 发表于 2019-1-22 00:17

感觉很厉害的样子

Thacker_hero 发表于 2019-1-22 00:18

感谢楼主分享!最后一句让我不禁滑稽了,hhh。

canaskpw 发表于 2019-1-22 02:05

感谢楼主,看来得多学点技术未来才能找到老婆

奔跑的小牛 发表于 2019-1-22 08:09

mark一下刚学完基础语法爬虫快要学到了

CPPKONONE 发表于 2019-1-22 20:20

鲜花鲜花,还未入坑,不慌:lol

ahdysqg 发表于 2020-2-25 23:12

值得学习
页: [1]
查看完整版本: 【python】故宫预定人数纪录爬虫