• 爬虫(cookie)——renren模拟登陆


    工具:python3

    步骤:

    1)使用cookiejar.CookieJar()构建一个CookieJar()构建一个对象,用来保存cookie的值

    2)使用HTTPCookieProcessor()构建一个处理器对象,用来处理cookie

    3)使用build_opener构建自定义opener

    4))使用opener的addheaders参数添加请求头参数

    5)构造url和data

    6)使用Request()构造请求

    7)使用opener.open()发送请求

    8)读取响应信息

    import urllib.request
    from http import cookiejar
    
    # 通过CookieJar()类构建一个cookieJar()对象,用来保存cookie的值
    cookie = cookiejar.CookieJar()
    
    # 通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
    cookie_handler = urllib.request.HTTPCookieProcessor(cookie)
    
    # 构建一个自定义的opener
    opener = urllib.request.build_opener(cookie_handler)
    
    # 通过opener的addheaders参数可以添加HTTP报头参数,参数为元组类型
    opener.addheaders = [("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36")]
    
    # renren网的登录接口
    url = "http://www.renren.com/PLogin.do"
    
    # 需要登陆的账户密码
    data = {"email":"xxx", "password": "xxx"}
    
    data = urllib.parse.urlencode(data)
    # data = bytes(data,  encoding="utf8")
    
    # 第一次是post请求,发送登陆需要的参数,获取cookie
    request = urllib.request.Request(url, data=data)
    
    # 发送第一次的post请求,生成登录后的cookie
    response = opener.open(request)
    response = response.read()
    response = response.decode("utf-8")
    
    with open("renren.html","w") as f:
        f.write(str(response))
  • 相关阅读:
    poj3468(A Simple Problem with Integers)线段树+树状数组
    关于JVM——JVM内存模型
    关于JVM——类加载机制
    关于JVM(二)
    关于JVM(一)
    关于LongAdder
    关于Future
    关于Fork/Join
    关于Atomic
    关于LockSupport
  • 原文地址:https://www.cnblogs.com/gaoquanquan/p/9111264.html
Copyright © 2020-2023  润新知