1. 程式人生 > >request post 模擬登入 csdn 獲取儲存cookie

request post 模擬登入 csdn 獲取儲存cookie

# -*- coding=utf-8 -*-
import requests
from lxml import etree

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

url = 'https://passport.csdn.net/account/login'
z = requests.get(url,headers=headers)
sel = etree.HTML(z.content)


csrf_token = sel.xpath('//input[@name="lt"]/@value'
)[0] execution = sel.xpath('//input[@name="execution"]/@value')[0] formdata = { 'username':'賬號', 'password':'密碼', 'rememberMe' : 'true', 'lt':csrf_token, 'execution':execution, '_eventId':'submit', } s = requests.post(url=url,data=formdata,headers=headers) print s.cookies #獲取伺服器返回的cookie 但是獲取的是一個cookie物件 。可以用下面轉化為字典
cookies = requests.utils.dict_from_cookiejar(s.cookies) r3 = requests.get("http://my.csdn.net", headers=headers, cookies=cookies) print r3.text