from urllib import request, parse
from http import cookiejar
# 创建cookiejar的实例
cookie = cookiejar.CookieJar()
# 生成cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
# 创建http请求管理器
http_handler = request.HTTPHandler()
# 生成https管理器
https_handler = request.HTTPSHandler()
# 创建请求管理器
opener = request.build_opener(http_handler, https_handler, cookie_handler)
def login():
'''
负责初次登陆
需要输入用户名密码,用来过去登陆cookie凭证
'''
# 此url需要从登陆from的action属性中提取
url = 'http://www.renren.com/PLogin.do'
# 键值需要从登陆from的两个对应input中提取name属性
data = {
'email': "185807487xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
'password': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
# 把数据进行编码
data = parse.urlencode(data)
# 创建一个请求对象
req = request.Request(url, data=data.encode())
# 使用openner发起请求
opener.open(req)
def getHomepage():
url = 'http://www.renren.com/974598244/profile'
# 如果已经执行了login函数,则opener自己已经包含了对应的cookie值
rsp = opener.open(url)
html = rsp.read().decode()
with open("rsp.html", 'w', encoding='utf-8') as f :
f.write(html)
if __name__ == '__main__':
login()
getHomepage()