网抓没取到最新数据?很可能是少了这个参数!
最近,发现原来每天从网站获取的某个指数不是最新的,重新检查该指数的链接时,发现加入了一个参数(v=159#######),且这个数字会随着链接的刷新每次都不一样:
如果对计算机知识比较了解的朋友,可能能很快反应过来,这是一个时间戳,具体什么意思?我们来看一下官方正品的解析:时间戳是指格林威治时间1970年01月01日00时00分00秒起至当下的总秒数。
很多网站给链接加上的动态参数其实都是时间戳,或跟时间戳有比较直接的关系。
那么,在PQ里,如何得到时间戳呢?
根据概念,即1970年1月1日0时0分0秒至现在的总秒数,因此,这个计算其实非常简单,直接求可以用公式如下:
= Duration.TotalSeconds(
DateTime.LocalNow() - #datetime(1970,1,1,0,0,0)
)
其中DateTime.LocalNow()即为当下时间,减去1970年1月1日0时0分0秒后,得到当下与起点时间的时长,再通过Duration.TotalSeconds函数即可以直接转换为总秒数。
进一步,我们可以将时间转换为时间戳的需求写成一个通用的函数,也很简单(关于自定义函数的基础知识,可以参考文章《PQ-M及函数:结合前期案例,学习自定义函数》),如下图所示:
这样在以后需要用到的时候就可以直接通过调用TimeStamp这个函数来实现了。
- 聊聊网爬 -
我前期写过一些文章关于从网络爬取数据的,同时,在我的系列视频课程里,也有几集专门讲网爬的,包括如何识别数据源和相关参数等基础知识,但基本都仅涉及一些对公众开放的数据,一是这些数据爬取起来相对简单容易,二是爬取这些数据一般不会涉及到什么严重的法律问题。
赞 (0)