《实战篇》专题九第二回——用VBA下载12306车票数据

优采云 发布时间: 2022-05-05 14:14

  《实战篇》专题九第二回——用VBA下载12306车票数据

  大家好,本周我们终于回到“网络技术”专题,发布了第二回“数据源层层隐藏难得见,嗅探器抽丝剥茧觅真身”,为大家讲解怎样使用Fiddler这种HTTP*敏*感*词*软件挖掘隐藏在网页中的URL,以及怎样使用正则表达式解读数据。而本节课使用的案例是从12306网站上下载当前剩余优采云票数据,相信正在筹划暑期出行的朋友也会很感兴趣。

  从知识角度看,本节课的内容并不很难,所用到的无非是《提高篇》中讲过的XMLHTTP对象,以及正则表达式的这位老朋友。唯一的新知识就是一个网页嗅探软件的基本用法,大家跟随视频就可以轻松掌握。

  但是要想真正掌握本节课程介绍的下载技能却并不简单,因为这其中涉及到以下两个方面的经验与技巧,各位必须亲自动手、积极尝试,才能逐渐掌握:

  (1) 猜测数据包。如课程中所讲,使用Fiddler可以截获所有进出浏览器的网页数据,但若想知道哪一个数据包中含有我们真正需要的数据,则需要运用我们的经验与直觉。本节案例的数据包相对简单,以便大家能够看懂杨老师的分析过程。而对于更加复杂的需求,则要各位自己开动脑筋,多想多试。

  (2)设计正则式。只要明确了数据包的URL,就能够用XMLHTTP直接下载过来(不考虑HTTPS、登录可见等情况),而接下来的重点就与普通网页抓取无异,即怎样用正则表达式提取出所需信息。尽管已经在《提高篇》和《实战篇》中比较系统的讲解过正则表达式,本节课程中我们还是用了半节课的篇幅,像大家演示了为本案例设计正则表达式的思考过程,希望各位能够再次认识正则表达式的重要价值。

  最后为同学们提出一个思考题:本节课程的代码只能下载5月31日从北京到上海的优采云票数据。如果我们想下载任意日期和区段的余票信息,应该怎样修改程序呢?提示:观察该网站URL的格式,用构造字符串的方法任意修改URL,使其包含指定的日期与区段。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线