问个很蠢的爬虫验证码问题

2019-08-23 09:47:45 +08:00
 Arabot9

在做一个取号脚本,验证码类型是 n+n 的计算题,n 的范围 0~9,查了下源代码是前端 js 生成得, 尝试过绕过 js 直接提交数据,但是返回结果不对,检查了请求头,也没找到和验证码相关的数据

Accept:/ Accept-Encoding:gzip, deflate Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7 Connection:keep-alive Content-Length:0 Cookie:Hm_lvt_c983052c3eaf489adecab8e3595d288d=1561651854; Hm_lvt_6142871b6b140770e2a9d88ba5b0131e=1561651902 Host:hn.topsports.com.cn Origin:http://hn.topsports.com.cn Referer:http://hn.topsports.com.cn/asdf123zxc/phone/qh_xin.html?area_code=HN User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 X-Requested-With:XMLHttpRequest

谢谢各位大神~

2188 次点击
所在节点    Python
5 条回复
silencefent
2019-08-23 09:59:12 +08:00
感觉你手动提交也是没有返回的
arrow8899
2019-08-23 10:04:56 +08:00
有网站吗,请求肯定不止这一个
supervipcard
2019-08-23 10:14:56 +08:00
看了下,验证码生成和验证都是前端做的,提交数据应该不需要带验证码了
imdong
2019-08-23 10:23:29 +08:00
```
$.post('http://hn.topsports.com.cn/asdf123zxc/phone/DataSour.aspx?ID=8&zhuti=102019082405&shop_id=NKSZ94&man_id=230805200101014597&size=6&brandName=NK');
```

直接这个请求即可,man_id 就是身份证号码。

其他的自己去抓吧。

另外给楼主复现下抓取过程:

查看按钮“领取号码”,发现绑定事件 ```onclick="quhaoma()"```

查看 ```quhaoma``` 的代码,

判断 ```qhstatus == "0"``` 是验证通过,```var content = num1 + num2;```是验证码值。

当然,这些都不是重点,重点是,所有的判断都是本地的...

可以直接跳过,直接发起请求即可。

但是依然没有成功,似乎后台还有判断身份证信息。

不得不说,这事啥玩意?代码写的太 low 了吧...
Arabot9
2019-09-17 02:09:21 +08:00
@imdong 已经搞定了,感谢! 这个验证码确实形同虚设。。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/594397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX