YuanFang0w0 发表于 2022-4-28 23:17

ajax使用request请求被反爬,不能请求到数据,请求到的是人机验证

还是之前那个A站的,之前拿到cookie能用了,然后最近发现爬不到了,
具体问题就是,用fiddler抓包,然后cookie只保存必须的几个,使用fiddler重发数据包是能请求到数据的。
但是一到python的requests中就不行了。
伪造请求头也不通过。。就很烦。
有没有兄弟有遇到过这种情况的,能解决吗
我在github看了几个这个网站相关的项目,都说有这个问题,但是都没有解决办法。
我要请求的ajax是
https://www.artstation.com/api/v2/search/users.json

是小刘呀 发表于 2022-4-29 07:55

header中添加referer了吗

笨笨家的唯一 发表于 2022-4-29 08:39

你把正常请求(浏览器或者fiddler)里面的请求头信息全部写入到你的ajax请求头里面去,再试试,或者你再fiddler发送请求的时候把正常请求的请求头里面的参数一个一个的删除,看看哪些是必须要保留的,一般来说保留楼上说的referer和cookies就可以了

xiajin 发表于 2022-4-29 09:05

保持和正常的请求参数一致,要不你得1个1个的去试,防爬一般做了referer,以及请求频率限制等处理的

liesauer 发表于 2022-4-29 09:11

楼上方法+1,在不知道哪些东西是必须的时候,先用浏览器中的所有header都带上,再把一些完全没必要的去除,Host、Connection等,其他Accept-Language、Accept-Encoding、Accept这些按需保留

Prozacs 发表于 2022-4-29 09:29

urllib试试

yang19950324 发表于 2022-4-29 09:52

搞这玩意就是搞不定的话就是先把正常请求的所有参数都先放进去,然后一个一个剔除去排查,多花点时间就行

YuanFang0w0 发表于 2022-4-29 09:52

是小刘呀 发表于 2022-4-29 07:55
header中添加referer了吗

添加了,我都试过了,header怎么弄都不行

YuanFang0w0 发表于 2022-4-29 09:53

笨笨家的唯一 发表于 2022-4-29 08:39
你把正常请求(浏览器或者fiddler)里面的请求头信息全部写入到你的ajax请求头里面去,再试试,或者你再fiddl ...

试过了,到py里就不行了

YuanFang0w0 发表于 2022-4-29 11:03

yang19950324 发表于 2022-4-29 09:52
搞这玩意就是搞不定的话就是先把正常请求的所有参数都先放进去,然后一个一个剔除去排查,多花点时间就行

试过了还是不得行
页: [1] 2
查看完整版本: ajax使用request请求被反爬,不能请求到数据,请求到的是人机验证