推荐学习书目
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
hastelloy
V2EX  ›  Python

有没有人研究过 51job 的登录

  •  
  •   hastelloy · Mar 30, 2017 via Android · 5564 views
    This topic created in 3345 days ago, the information mentioned may be changed or developed.
    我猜这里很多人不用 51job ,不过 lz 是苦逼的传统行业,想没事用 python 登录下 51job 刷下简历,本机上是没什么问题了,放到 aws 上怎么就不行了,难道他们不让国外 ip 访问?智联貌似就没问题,这个要怎么解决,设 vpn ?
    14 replies    2017-03-30 23:11:26 +08:00
    blackboar
        1
    blackboar  
       Mar 30, 2017
    你的疑问貌似可以很简单就能验证吧
    justfun
        2
    justfun  
       Mar 30, 2017 via iPhone
    没研究过,应该不会禁国外 IP 吧。既然你本机都可以了 试试用国内代理访问呗
    justfun
        3
    justfun  
       Mar 30, 2017 via iPhone
    @blackboar 的确啊 感觉没什么好问的= =
    hastelloy
        4
    hastelloy  
    OP
       Mar 30, 2017 via Android
    @justfun
    手头上没有稳定的国内 vpn , 所以想问问是不是通过修改登录请求的 headers 什么的解决,或者 51job 有没有什么对国际访问的 ip 什么的
    ju5t4fun
        5
    ju5t4fun  
       Mar 30, 2017
    是不是被检测到异地登录了
    hastelloy
        6
    hastelloy  
    OP
       Mar 30, 2017 via Android
    @ju5t4fun

    貌似不是,异地登录会跳验证码,这个直接拒绝连接了

    你和 3 楼什么关系?超级马甲?
    winfirm
        7
    winfirm  
       Mar 30, 2017
    大概是去年偶而登录一下 51job ,感觉每次登录都要至少两次才成功。

    第一次输入用户名密码,密码确定是对的,然按确定不能成功,会跳到带验证码的登录输入页面,然后再输入一遍,这才能成功进入个人管理页面。
    ju5t4fun
        8
    ju5t4fun  
       Mar 30, 2017
    @hastelloy 没有任何关系,不是马甲
    cranelee13
        9
    cranelee13  
       Mar 30, 2017
    直接在头部添加登录后的 Cookie 不行么?
    ioth
        10
    ioth  
       Mar 30, 2017
    你都没说怎么不行,什么情景
    难道让别人给你试?
    再说你可真不是没事,是接到活了吧
    crab
        11
    crab  
       Mar 30, 2017
    IP 黑名单了吧?直接在服务器请求看下返回信息
    hastelloy
        12
    hastelloy  
    OP
       Mar 30, 2017
    username = ""
    password = ""
    s = requests.session()
    url_login = "http://m.51job.com/my/login.php"
    url_login_post = "http://m.51job.com/ajax/my/login.ajax.php"
    url_refresh = "http://m.51job.com/ajax/resume/refreshresume.ajax.php"
    resume_id = ""
    uagent = "Mozilla/5.0 (Linux; Android 4.0.4; \
    Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) \
    Chrome/18.0.1025.133 Mobile Safari/535.19"

    headers = {
    "user-agent": uagent,
    }

    rsp1 = s.get(url_login)

    params_login = {
    "username": username,
    "password": password,
    "verifycode": "",
    "autologin": "0"
    }
    rsp2 = s.post(url_login_post, headers=headers, data=params_login)
    rsp2.encoding = 'utf-8'
    jsn = json.loads(rsp2.text)
    if not jsn['status'] == "1":
    raise LoginError("51job login error")


    EC2 上跑的话直接 Timeout,之前抓异地登陆的结果是能正常返回 Json, 里面 status 为 1,

    requests.exceptions.Timeout: (<urllib3.connectionpool.HTTPConnectionPool object at 0x7ff0bbddba90>, 'Connection to m.51job.com timed out. (connect timeout=9.2)')
    jyf
        13
    jyf  
       Mar 30, 2017
    在你的 ec2 上用 mtr 51job 的域名 看看哪一跳有问题 有的时候也可能是墙在搞鬼
    mingyun
        14
    mingyun  
       Mar 30, 2017
    requests cookie 最简单了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 20:50 · PVG 04:50 · LAX 13:50 · JFK 16:50
    ♥ Do have faith in what you're doing.