使用cookie模拟登陆

访问登录后的页面
(1)抓包,抓取浏览器的cookie值,然后到代码中应用

import urllib.request

url = 'http://www.renren.com/960481378/profile'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
    'Cookie': 'anonymid=joprgd33-y2bj9z; depovince=GW; _r01_=1; _de=F872F5698F7602B30ADE65415FC01940; __utma=151146938.2105670176.1542719747.1542719747.1542719747.1; __utmz=151146938.1542719747.1.1.utmcsr=renren.com|utmccn=(referral)|utmcmd=referral|utmcct=/; ln_uact=17701256561; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; jebecookies=e621f5ad-f276-4c15-9295-140db925925c|||||; JSESSIONID=abcrUAciE-gke9G9Zn0Cw; ick_login=cacbb938-07aa-4183-a48c-617552e91146; p=b122bab3258e9e4097a454030b6601228; first_login_flag=1; t=68458fa70733a852200147b1256f12f48; societyguester=68458fa70733a852200147b1256f12f48; id=960481378; xnsid=cbc787ec; ver=7.0; loginfrom=null; wp_fold=0; jebe_key=ad44d5da-0eed-4cb8-b5f1-26af525dc3af%7C86ba94a3b75a9848502e25ac92562959%7C1542769529576%7C1; jebe_key=ad44d5da-0eed-4cb8-b5f1-26af525dc3af%7C86ba94a3b75a9848502e25ac92562959%7C1542769529576%7C1%7C1542769975875',
}
request = urllib.request.Request(url=url, headers=headers)

response = urllib.request.urlopen(request)

with open('renren.html', 'wb') as fp:
    fp.write(response.read())

(2)模拟登陆(post get)

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

# 如何让代码保存和携带cookie
# 创建一个cookiejar对象
cj = http.cookiejar.CookieJar()
# 根据cj创建一个handler
handler = urllib.request.HTTPCookieProcessor(cj)
# 根据handler创建opener
opener = urllib.request.build_opener(handler)
# 再往下所有的请求发送都使用opener.open()方法发送,那么代码就会自动的保存和携带cookie

# 模拟登陆
post_url = 'http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2018103114589'
formdata = {
    'email': '17701256561',
    'icode': '',
    'origURL': 'http://www.renren.com/home',
    'domain': 'renren.com',
    'key_id': '1',
    'captcha_type': 'web_login',
    'password': '83bf942d2087fbdaa83edd561858f6a243073e1dd79f014a52922756ca2e34e8',
    'rkey': 'ac9e72c02e87ddb2d364071e5ef990f4',
    'f': 'http%3A%2F%2Fwww.renren.com%2F960481378%2Fprofile',
}
# 处理表单数据
formdata = urllib.parse.urlencode(formdata).encode('utf8')
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
}
post_request = urllib.request.Request(url=post_url, headers=headers)

response = opener.open(post_request, data=formdata)

print(response.read().decode('utf8'))

# 访问登陆后的页面
get_url = 'http://www.renren.com/960481378/profile'
get_request = urllib.request.Request(url=get_url, headers=headers)
response = opener.open(get_request)

with open('renren2.html', 'wb') as fp:
    fp.write(response.read())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值