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
hastelloy
V2EX  ›  Python

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

  •  
  •   hastelloy · 2017-03-30 07:27:42 +08:00 via Android · 4639 次点击
    这是一个创建于 2555 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我猜这里很多人不用 51job ,不过 lz 是苦逼的传统行业,想没事用 python 登录下 51job 刷下简历,本机上是没什么问题了,放到 aws 上怎么就不行了,难道他们不让国外 ip 访问?智联貌似就没问题,这个要怎么解决,设 vpn ?
    14 条回复    2017-03-30 23:11:26 +08:00
    blackboar
        1
    blackboar  
       2017-03-30 08:42:16 +08:00
    你的疑问貌似可以很简单就能验证吧
    justfun
        2
    justfun  
       2017-03-30 08:43:26 +08:00 via iPhone
    没研究过,应该不会禁国外 IP 吧。既然你本机都可以了 试试用国内代理访问呗
    justfun
        3
    justfun  
       2017-03-30 08:43:54 +08:00 via iPhone
    @blackboar 的确啊 感觉没什么好问的= =
    hastelloy
        4
    hastelloy  
    OP
       2017-03-30 09:01:37 +08:00 via Android
    @justfun
    手头上没有稳定的国内 vpn , 所以想问问是不是通过修改登录请求的 headers 什么的解决,或者 51job 有没有什么对国际访问的 ip 什么的
    ju5t4fun
        5
    ju5t4fun  
       2017-03-30 09:03:41 +08:00
    是不是被检测到异地登录了
    hastelloy
        6
    hastelloy  
    OP
       2017-03-30 09:11:09 +08:00 via Android
    @ju5t4fun

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

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

    第一次输入用户名密码,密码确定是对的,然按确定不能成功,会跳到带验证码的登录输入页面,然后再输入一遍,这才能成功进入个人管理页面。
    ju5t4fun
        8
    ju5t4fun  
       2017-03-30 12:00:15 +08:00
    @hastelloy 没有任何关系,不是马甲
    cranelee13
        9
    cranelee13  
       2017-03-30 15:58:13 +08:00
    直接在头部添加登录后的 Cookie 不行么?
    ioth
        10
    ioth  
       2017-03-30 16:08:26 +08:00
    你都没说怎么不行,什么情景
    难道让别人给你试?
    再说你可真不是没事,是接到活了吧
    crab
        11
    crab  
       2017-03-30 16:15:08 +08:00
    IP 黑名单了吧?直接在服务器请求看下返回信息
    hastelloy
        12
    hastelloy  
    OP
       2017-03-30 19:11:28 +08:00
    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  
       2017-03-30 19:59:30 +08:00
    在你的 ec2 上用 mtr 51job 的域名 看看哪一跳有问题 有的时候也可能是墙在搞鬼
    mingyun
        14
    mingyun  
       2017-03-30 23:11:26 +08:00
    requests cookie 最简单了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1094 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:55 · PVG 02:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.