python爬虫快递100的temp值怎么确定

weixin_45510130 2019-08-10 11:17:19
temp是一直在变得。
...全文
917 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
为啥查询有时候能查出来有时候查不出来
sanzyzx 2020-04-23
  • 打赏
  • 举报
回复
引用 12 楼 smaltore 的回复:
另外一个不需要更新cookie的办法,是使用到第8关的内容,request.get首页获取cookie,再用这个cookie来登录 #调用Requests模块 import requests,json import random headers = { 'Referer': 'https://www.kuaidi100.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36X-Requested-With: XMLHttpRequest' } url_home = 'https://www.kuaidi100.com/' res_home = requests.get(url_home,headers=headers) headers['Cookie'] = json.dumps(requests.utils.dict_from_cookiejar(res_home.cookies)) express_com = input('请输入快递公司:') or 'zhongtong' postid = input('请输入快递单号:') or 73124161428372 url_cookies = 'https://www.kuaidi100.com/globalauto.do' params = { 'type': express_com, 'postid': postid, 'temp': random.random(), 'phone': '' } url = 'https://www.kuaidi100.com/query' res = requests.get(url,headers=headers,params=params) #print(res.status_code) js = res.json() for s in js['data']: context = s['context'] ftime = s['ftime'] print(ftime,' ',context)
我是这种方法顺利调试成功,太感谢大神了! 另外,这句:url_cookies = 'https://www.kuaidi100.com/globalauto.do' 是什么作用呢? 我看不懂哈,我把这句注释掉,也可以运行,而且运行的结果是正确的,求大神指点:)
源码地址 2022-05-11
  • 举报
回复
@sanzyzx 什么语言
sanzyzx 2020-04-23
  • 打赏
  • 举报
回复
引用 12 楼 smaltore 的回复:
另外一个不需要更新cookie的办法,是使用到第8关的内容,request.get首页获取cookie,再用这个cookie来登录 #调用Requests模块 import requests,json import random headers = { 'Referer': 'https://www.kuaidi100.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36X-Requested-With: XMLHttpRequest' } url_home = 'https://www.kuaidi100.com/' res_home = requests.get(url_home,headers=headers) headers['Cookie'] = json.dumps(requests.utils.dict_from_cookiejar(res_home.cookies)) express_com = input('请输入快递公司:') or 'zhongtong' postid = input('请输入快递单号:') or 73124161428372 url_cookies = 'https://www.kuaidi100.com/globalauto.do' params = { 'type': express_com, 'postid': postid, 'temp': random.random(), 'phone': '' } url = 'https://www.kuaidi100.com/query' res = requests.get(url,headers=headers,params=params) #print(res.status_code) js = res.json() for s in js['data']: context = s['context'] ftime = s['ftime'] print(ftime,' ',context)
我是这种方法顺利调试成功,太感谢大神了! 另外,这句:url_home = 'https://www.kuaidi100.com/' 是什么作用呢? 我看不懂哈,我把这句注释掉,也可以运行,而且运行的结果是正确的,求大神指点:)
sanzyzx 2020-04-23
  • 打赏
  • 举报
回复
你好,我用你的方法,解决了问题。太感谢了神了哈! 另外,这一句:url_home = 'https://www.kuaidi100.com/' 是什么作用呢 ? 我把这句注释掉也可以运行,而且运行结果是正确是,求大神指点:)
weixin_45903952 2020-03-26
  • 打赏
  • 举报
回复
好像定值查出来全是错的
weixin_38854800 2020-03-26
  • 打赏
  • 举报
回复
引用 13 楼 smaltore 的回复:
测试证明,这个temp使用固定值也可以。
固定值你查出来的是对的?
smaltore 2020-02-19
  • 打赏
  • 举报
回复
测试证明,这个temp使用固定值也可以。
smaltore 2020-02-19
  • 打赏
  • 举报
回复
另外一个不需要更新cookie的办法,是使用到第8关的内容,request.get首页获取cookie,再用这个cookie来登录 #调用Requests模块 import requests,json import random headers = { 'Referer': 'https://www.kuaidi100.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36X-Requested-With: XMLHttpRequest' } url_home = 'https://www.kuaidi100.com/' res_home = requests.get(url_home,headers=headers) headers['Cookie'] = json.dumps(requests.utils.dict_from_cookiejar(res_home.cookies)) express_com = input('请输入快递公司:') or 'zhongtong' postid = input('请输入快递单号:') or 73124161428372 url_cookies = 'https://www.kuaidi100.com/globalauto.do' params = { 'type': express_com, 'postid': postid, 'temp': random.random(), 'phone': '' } url = 'https://www.kuaidi100.com/query' res = requests.get(url,headers=headers,params=params) #print(res.status_code) js = res.json() for s in js['data']: context = s['context'] ftime = s['ftime'] print(ftime,' ',context)
smaltore 2020-02-19
  • 打赏
  • 举报
回复
把所有的headers复制下来并格式化,tem使用random来生成,因为是临时cookie,所以时效很短,如果失效,需要更新headers。 a = '''Accept: application/json, text/javascript, */*; q=0.01 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7 Connection: keep-alive Cookie: csrftoken=S6AsiEvj_aeKAitoFBhsCuLEB3v_5o6Vk5jjLy6X02U; WWWID=WWW00DA2B91FED48DF5680A88F0047C710A; Hm_lvt_22ea01af58ba2be0fec7c11b25e88e6c=1582049778,1582049785,1582051025,1582051270; Hm_lpvt_22ea01af58ba2be0fec7c11b25e88e6c=1582051270 DNT: 1 Host: www.kuaidi100.com Referer: https://www.kuaidi100.com/ Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 X-Requested-With: XMLHttpRequest''' headers = {} for x in a.split('\n'): k,v = x.split(': ',1) headers[k] = v #调用Requests模块 import requests import random express_com = input('请输入快递公司:') or 'zhongtong' postid = input('请输入快递单号:') or 73124161428372 url_cookies = 'https://www.kuaidi100.com/globalauto.do' params = { 'type': express_com, 'postid': postid, 'temp': random.random(), 'phone': '' } url = 'https://www.kuaidi100.com/query' res = requests.get(url,headers=headers,params=params) #print(res.status_code) js = res.json() for s in js['data']: context = s['context'] ftime = s['ftime'] print(ftime,' ',context)
Lianth 2019-12-20
  • 打赏
  • 举报
回复
tmpe = random.random()
生成随机数
用这个就可以生成了
headers里面加入
‘Cookie’,'Referer'
这些就可以查询成功了
qq_44142408 2019-09-20
  • 打赏
  • 举报
回复
引用 5 楼 荒-年i的回复:
我今天也遇到这问题了。我找到了JS,是楼上说的随机数。但是我用java产生的随机数去查询,还是不准确。返回的物流信息是错误的,不知道楼主现在怎么样了?
这快递查询你成功了吗
qq_44142408 2019-09-19
  • 打赏
  • 举报
回复
博主你爬取快递解决了吗
  • 打赏
  • 举报
回复
这个参数是个随机数生成的。 MATH.random 你找找看
猿某人、 2019-08-13
  • 打赏
  • 举报
回复
这个问题,看看怎么解决吧!
猿某人、 2019-08-13
  • 打赏
  • 举报
回复
引用 5 楼 荒-年i 的回复:
我今天也遇到这问题了。我找到了JS,是楼上说的随机数。但是我用java产生的随机数去查询,还是不准确。返回的物流信息是错误的,不知道楼主现在怎么样了?
已经解决了。cookie问题
猿某人、 2019-08-13
  • 打赏
  • 举报
回复
我今天也遇到这问题了。我找到了JS,是楼上说的随机数。但是我用java产生的随机数去查询,还是不准确。返回的物流信息是错误的,不知道楼主现在怎么样了?
weixin_45510130 2019-08-12
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子的回复:
第一次获取页面,取得temp 值。 循环: 邮件号码和 temp 值 查询 获取邮件轨迹及更新temp值。 应该是这样吧?
好像听说用到cookies方面的知识。学习中
小羽Jary 2019-08-12
  • 打赏
  • 举报
回复
前几天有人问过了,在js里面有temp生成的算法。是一个随机数来的,可以自己找找
陈年椰子 2019-08-12
  • 打赏
  • 举报
回复
第一次获取页面,取得temp 值。 循环: 邮件号码和 temp 值 查询 获取邮件轨迹及更新temp值。 应该是这样吧?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧