本渣想做模拟网页,需要cookies中的HM_lpvt值,cookies中包含的HM_lpvt无疑是来自百度统计,它的值,即144141的值怎么获取?
chrome查看到这里:
本渣觉得它应该是来自这个百度嵌入网页的脚本,运行一次,Hm_lpvt的值就变化一次。怎么在模拟网页时取出它的值呢,大神们指点一下,谢谢,说说思路方向,即可。
遍历cookies,然后判断key是否包含 Hm_lpvt,如果有Hm_lpvt,那么这个key就是你想要的值。
for cookie in cookies
if cookie.find('Hm_lpvt') > 0 :
print cookie
pass
pass
楼主既然已经找到写的地方了, 那么再认真找一下,就应该可以找到.
this.setData("Hm_lpvt_" + c.id, m.j);
先看 c.id
, 文件最开始的地方定义的变量c
.
PS:
c.id
就是在部署hm.js
时该url
后面跟的那串内容.
比如:部署的时候的
url
为hm.baidu.com/hm.js?e23800c454aa573c0ccb16b52665ac26
, 那么 该js中的c.id
值就是e23800c454aa573c0ccb16b52665ac26
.
然后就是 m.j
了, 找变量m
定义的地方:
发现 m = h.h
, 那么就找给 h.h
赋值的地方,
然后就发现了这段代码:
j: Math.round(+new Date / 1E3),
上面的代码的含义就是取当前时间(含毫秒秒)/1000
所以得出的结论是, 这个Cookie的值就是当前的时间戳(不含毫秒).
这个Cookie是由JS写入的, 所以你如果是要取这个值, 那么取当前时间的时间戳即可.
如果你要模拟这个值, 那么也是取当前时间的时间戳, 然后提交过去就可以了.