网页链接 http://221.214.94.51:8081/icity/ipro/projectlist
需要在"项目名称"输入名称后查询
利用控制台获得以下链接:
http://221.214.94.51:8081/icity/api-v2/app.icity.ipro.IproCmd/getSPListByPage?s=d916191636204714395&t=5248_d11111_1636209135000
parameter s和t的值不能确定,好像是在http://221.214.94.51:8081/icity/ipro/projectlist/
python 爬虫post 时候query parameter确定不了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-showbo 2021-11-07 13:22关注
s签名参数在下面这个网址的源代码里面,同时访问这个网址还会生成一个ICITYSession Cookie。t参数主要第二个的计算,通过sig签名计算得到
http://221.214.94.51:8081/icity/ipro/projectlist
而且题主的接口搞错了,应该是
http://221.214.94.51:8081/icity/api-v2/app.icity.ipro.IproCmd/getProjectList?s=xxxx&t=xxxx
代码如下
import requests import json import time import random def getTParam(sig): chars = "0123456789abcdef" key="" keyIndex=-1 for i in range(6): c=sig[keyIndex+1] key+=c keyIndex=chars.find(c) if keyIndex<0 or keyIndex>=len(sig): keyIndex=i #主要是 key计算,第一个数字是随机生成的,第3个数字为时间戳 return str(random.randint(1000,10000))+"_"+key+"_"+str(int(time.time()) * 1000) headers={ 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36', 'Cookie':'' } referrurl="http://221.214.94.51:8081/icity/ipro/projectlist" res=requests.get(referrurl) cookies=requests.utils.dict_from_cookiejar(res.cookies) headers['Cookie']='ICITYSession='+cookies['ICITYSession'] sig=res.text starts='var __signature = "' startindex=sig.find(starts)+len(starts) endindex=sig.find('"',startindex) sig=sig[startindex:endindex]#得到签名 url="http://221.214.94.51:8081/icity/api-v2/app.icity.ipro.IproCmd/getProjectList?s="+sig+'&t='+getTParam(sig) headers['Referer']=referrurl headers['X-Requested-With']='XMLHttpRequest' headers['Content-Type']='application/json' #post发送的数据 payloadData={"projectcode":"", "projectname":"", "contractor":"", "projecttype":"", "page":1, "limit":10} req=requests.post(url,headers=headers, data=json.dumps(payloadData)) data=req.json() print(data)
有帮助麻烦点下【采纳该答案】,谢谢~~
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题