还是上节说的人人网,需要登录之后才能访问某些主页,即headers中必须带有cookie参数才能进行访问
1.登录获取cookie
代码及步骤注释如下
#1.登录去获取cookie
#1.创建一个CookieJar的对象来保存cookie
cookiejar=CookieJar()
#2.使用cookiejar创建一个HttpCOOKIEProcesser对象
handler=request.HTTPCookieProcessor(cookiejar)
#3.使用上一步生成的handler生成一个opener
opener=request.build_opener(handler)
#4.使用opener发送登录的请求
headers={
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36",
}
data={
'email':"970138074@qq.com",
'password':"pythonspider"
}
#登录页面
login_url='http://www.renren.com/SysHome.do'
req=request.Request(url=login_url,data=parse.urlencode(data).encode('utf-8'),headers=headers)
opener.open(req)
2.使用 提取的cookie进行访问请求
#2.进入女神主页
nvshen_url="http://www.renren.com/256450404/profile"
#获取个人主页的时候,不需要新建opener
#应该使用之前的那个opener,因为之前的已经包含需要的cookie
req2=request.Request(nvshen_url,headers=headers)
resp=opener.open(req2)