获取API数据,分享给更多的遵纪守法的我们
一、python爬取请求
1.分析API
先看下响应的数据,风险地区
请求的参数,也就要计算最后两个(签名与发送时间戳)
还有就是请求头里这两个是最重要的
开始翻代码,蓝色的是时间的计算,然后红色的是两个签名的计算方式
2.py爬虫
签名在手,数据你有,那么我们一起开始爬吧
o
为Python方式的时间计算 JS方式:((new Date).getTime() / 1e3).toFixed()
s1
和 s2
分别为Python方式实现的两个签名的计算
签名1JS方式:CryptoJS.SHA256(e + i + a + e).toString(CryptoJS.enc.Hex).toUpperCase()
签名2JS方式:CryptoJS.SHA256(n + “fTN2pfuisxTavbTuYVSsNJHetwq5bJvCQkjjtiLM2dCratiA” + n).toString(CryptoJS.enc.Hex).toUpperCase()
import pymysql as MySQLdb
import requests
import hashlib
import time
import json
o = '%.3f' % (time.time() / 1e3)
e = o.replace('.','')
i = "23y0ufFl5YxIyGrI8hWRUZmKkvtSjLQA"
a = "123456789abcdefg"
s = "zdww"
def getSignature1():
s = hashlib.sha256()
s.update(str(e + i + a + e).encode("utf8"))
b = s.hexdigest().upper()
return b
def getSignature2():
s = hashlib.sha256()
s.update(str(e + 'fTN2pfuisxTavbTuYVSsNJHetwq5bJvCQkjjtiLM2dCratiA' + e).encode("utf8"))
b = s.hexdigest().upper()
return b
s1 = getSignature1()
s2 = getSignature2()
都算好了就开始拼数据发送了,下面是部分请求头与完整的请求参数
post_dict = {
'appId': 'NcApplication'