注册 登录
编程论坛 Python论坛

爬取管家婆进销存数据遇到的困难,ati是个什么玩意?

EviunExcel 发布于 2023-03-22 09:33, 671 次点击
各位大侠,因工作需要爬取管家婆进销存数据,在首页登录时就遇到了困难,我用post请求登录系统,报以下是错误代码:
{"code":"500","message":"JSON parse error: Unrecognized token 'ati': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException:
这里面的ati是个什么东西呢?好像每天都在变化!又无法找到规律和来源,请各位大侠帮忙看看,十分感谢!
10 回复
#2
wp2319572023-03-22 13:59
回复 楼主 EviunExcel
公布你要爬取的地址和你要爬取的数据
#3
东海ECS2023-03-22 19:04
"ati"是防止跨站请求伪造(CSRF)攻击所需的一个参数,通常是由服务器生成并发送到客户端。CSRF攻击是一种利用被攻击用户在某个网站上已登录的身份来进行攻击的方式,攻击者可以通过伪造用户请求来执行某些操作。为了防止这种攻击,服务器会在用户登录或进行某些敏感操作时生成一个随机的ati参数,然后将其发送到客户端,在客户端提交请求时将ati一并提交,服务器会验证ati的正确性。
由于ati是由服务器生成的,因此每次登录或进行敏感操作时都会发生变化。如果你使用的是自动化爬虫工具,可能会因为ati参数的变化而无法成功登录。为了解决这个问题,你需要在每次登录之前从首页获取最新的ati参数,然后将其带入登录请求中。通常,ati参数可以通过解析首页的HTML文档或从响应的JSON数据中获取。
#4
EviunExcel2023-03-23 08:48
回复 2楼 wp231957
感谢回复,是公司内部数据,需要账号和密码,所以暂时没法公布哦!
#5
EviunExcel2023-03-23 08:52
回复 3楼 东海ECS
感谢版主的解答,原来是这样,我顺着版主的思路去首页找ati,没有找到,但是发现这两个不知道是啥的东西,name="__VIEWSTATE"和name="__VIEWSTATEGENERATOR",不知道这个ati是否跟这两有关联?
#6
wp2319572023-03-23 09:06
回复 4楼 EviunExcel
那就没办法了,自己慢慢研究吧
#7
EviunExcel2023-03-23 09:09
回复 6楼 wp231957
好的,谢谢版主
#8
wp2319572023-03-23 09:20
回复 7楼 EviunExcel
可以尝试selenium系列???
#9
EviunExcel2023-03-23 09:55
回复 8楼 wp231957
是的,再研究一下,实在不行就只能selenium试试了
#10
sheeboard2023-03-25 07:52
有些网站验证是发送用户信息+时间的哈希值,是客户端的js代码生成的,然后服务端返回token,需要用requtests html,它装有一个chromim的内核来执行js,selenium相对简单一些,只是需要不断切换frame。
#11
EviunExcel2023-03-25 08:44
回复 10楼 sheeboard
感谢版主回复,看起来比较麻烦哦,想要偷点懒还真是不容易!
1