V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Arabot9
V2EX  ›  Python

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

  •  
  •   Arabot9 · 2019-08-23 09:47:45 +08:00 · 2359 次点击
    这是一个创建于 1921 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做一个取号脚本,验证码类型是 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

    谢谢各位大神~

    5 条回复    2019-09-17 02:09:21 +08:00
    silencefent
        1
    silencefent  
       2019-08-23 09:59:12 +08:00
    感觉你手动提交也是没有返回的
    arrow8899
        2
    arrow8899  
       2019-08-23 10:04:56 +08:00
    有网站吗,请求肯定不止这一个
    supervipcard
        3
    supervipcard  
       2019-08-23 10:14:56 +08:00
    看了下,验证码生成和验证都是前端做的,提交数据应该不需要带验证码了
    imdong
        4
    imdong  
       2019-08-23 10:23:29 +08:00   ❤️ 1
    ```
    $.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
        5
    Arabot9  
    OP
       2019-09-17 02:09:21 +08:00
    @imdong 已经搞定了,感谢! 这个验证码确实形同虚设。。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:09 · PVG 14:09 · LAX 22:09 · JFK 01:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.