使用cookie登录网站(人人网)

1、cookie登录主要步骤:
    # 创建一个cookiejar对象
    cj = http.cookiejar.CookieJar()
    # 通过cookiejar创建一个handler
    handler = urllib.request.HTTPCookieProcessor(cj)
    # 根据handler创建一个opener
    opener = urllib.request.build_opener(handler)

    再往下所有的操作都是用opener.open方法去发送请求,因为这里面带着cookie过去了。

2、登录人人网

import urllib.request
import urllib.parse
import http.cookiejar

# 真实的模拟浏览器,当发送完post请求的时候,将cookie保存到代码中
# 创建一个cookiejar对象
cj = http.cookiejar.CookieJar()
# 通过cookiejar创建一个handler
handler = urllib.request.HTTPCookieProcessor(cj)
# 根据handler创建一个opener
opener = urllib.request.build_opener(handler)

post_url = 'http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2018522142620'
formdata = {
    'email': '******',
    'icode': '',    
    'origURL': 'http://www.renren.com/home',
    'domain': 'renren.com',
    'key_id': '1',
    'captcha_type': 'web_login',
    'password': '2dfc34bafb068fa4d5833e13261b466e41eaf211d084678dbd7a99086b062c4f',
    'rkey': '0d88e6463b16b1fd549703fd02aa5ecf',
    'f': 'http%3A%2F%2Fwww.renren.com%2F966236794'
    }

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
}

request = urllib.request.Request(url=post_url, headers=headers)

formdata = urllib.parse.urlencode(formdata).encode()
response = opener.open(request, data=formdata)
#登录进人人网

# print(response.read().decode())

#获取个人信息页面

get_url = 'http://www.renren.com/966236794/profile'

request = urllib.request.Request(url=get_url, headers=headers)
response = opener.open(request)
with open('renren_profile.html','w+') as fp:
    fp.write(response.read().decode())


你可能感兴趣的:(爬虫)