通过session模拟登陆

发布时间:2019-05-05 21:15:30编辑:auto阅读(2133)

    import requests
    
    # 这个练习对比的是上一个登陆练习,这个是不用自己传入cookie参数,而是利用session方法登陆
    # 实例化一个session
    session = requests.session()
    
    # 使用session发送post请求,获取对方保存在本地的cookie
    
    # 这个url是检查登陆页面的form表单里的action找到的登陆接口
    post_url = "http://www.renren.com/PLogin.do"
    
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"}
    
    # 这个data字典信息的key是通过检查登陆页面元素找到的name对应的名称
    post_data = {"email": "账号", "password": "密码"}
    session.post(post_url, headers=headers, data=post_data)
    
    # 再使用session请求登陆后的页面
    url = "http://www.renren.com/968526600/profile"
    response = session.get(url, headers=headers)
    
    with open("renren.html", "w", encoding="utf-8") as file:
        file.write(response.content.decode())

     

关键字