人人网的uniqueTimestamp讲解及python3.5实现

话说python爬虫模拟登陆人人网的时候发现cookie总是不对,经过一段时间的抓、看,发现,人人网是分好几次设置cookie的,打开第一次未登录的时候设置一次,大概五六个cookie参数,点击登陆的时候优先请求其他链接,设置1cookie值,另一个链接设置一批cookie值。

其中像 ht tp://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2016001452457就是一个返回设置cookie值的网址。

uniqueTimestamp的值是在ht tp://s.xnimg.cn/a75275/nx/apps/login/login.js中的一段代码实现的,具体代码为

{var o=new Date;

i=i+"&uniqueTimestamp="+o.getFullYear()+o.getMonth()+o.getDay()+o.getHours()+o.getSeconds()+o.getUTCMilliseconds()}

html代码运行结果见http://www.5169.info/tool/jsdate.html

 

但是。。但是,为什么month好像比实际月份小啊!!

还有day和实际中的日期对不起来啊!!

 

因为

java script中规定,Date函数getMonth()方法中,1=0 2=1  3=2  ……   12=11

相应的,getDay()方法是获取星期几,不是日期不是日期不是日期,星期天=0
星期一=1,星期二=2……

 

python中就容易实现了,除了毫秒,因为毫秒在python中需要写函数自己搞。

因为我们是发送的数据,根据对方的js代码,我早请求多少毫秒晚请求多少毫秒,对方是不关心的,只要我们提供一个毫秒就好了。so,我们就random一个。


 

#!/bin/env python

# -*- coding: utf-8 -*-

 
 

__author__ = 'rublog'

import time

import random

 
 

localtime = time.localtime()

print(localtime)

today = int(time.strftime("%w"))

millisec = random.randint(0, 999)

print(millisec)

uniqueTimestamp = str(localtime[0])+str(localtime[1]-1)+str(today)+str(localtime[3])+str(localtime[4])+str(millisec)

print(uniqueTimestamp)

 

https://github.com/xinyu3ru/rublog/blob/master/uniqueTimestamp.py

 

 

就这样吧

版权声明:
作者:xinyu2ru
链接:https://www.rxx0.com/motion/ren-ren-wang-di-uniquetimestamp-jiang-jie-ji-python3-5-shi-xian.html
来源:RUBLOG-分享我的生活
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>