PythonScript_003_通过Cookie模拟登陆人人网

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib.request
import http.cookiejar # 相当于Python2的cookielib
'''
通过Cookie模拟登陆人人网,获取请求
总结:1、POST请求需要登录的账号密码,cookie就保存在opener对象当中
     2、访问权限界面
Python 3.7.0
'''

# 通过CookieJar()类构建一个cookieJar()对象,用来保存cookie的值
cookie = http.cookiejar.CookieJar()

# 通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
# 参数:构建CookieJar()对象
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; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36")]

# 人人网的登录接口 http://www.renren.com/PLogin.do 没有动态生成Token
url = "http://www.renren.com/PLogin.do"

# 这是需要登录的账号密码
data = {"email":"YourName","password":"YourPassword"}

# 转成url编码
data = urllib.parse.urlencode(data).encode("utf-8")

# 第一次是post请求,发送登录需要的参数,获取cookie
request = urllib.request.Request(url, data)

# 发送第一次请求的post请求,请求之后cookie的值就存在于opener对象当中了
response = opener.open(request)

# print(response.read().decode("utf-8"))

# 第二次请求,该请求中就有cookie 请求其它权限页面
response_homepage = opener.open("http://www.renren.com/969005442/profile")

# 登陆后访问的页面
print(response_homepage.read().decode("utf-8"))



猜你喜欢

转载自blog.csdn.net/weixin_40022980/article/details/84786692
今日推荐