简单获取cookies模拟登录

1,获取网站的cookies并保存到本地,利用本地cookies模拟登录

from http.cookiejar import CookieJar ,LWPCookieJar
from urllib.request import Request ,urlopen ,HTTPCookieProcessor ,build_opener
from urllib.parse import urlencode

# 模拟登陆美食杰----------------------------------
cookie = LWPCookieJar(filename='meishi123123.txt')
cookie_handler = HTTPCookieProcessor(cookie)
opener = build_opener(cookie_handler)
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0'
}
# 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F'
post_url = 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fi.meishi.cc%2Flogin.php%3Fac%3Dzhuce'
# urlencode对url当中的参数进行编码
# quote 对url当中的中文进行编码
# urlencode()编码的对象为字典类型
# quote 编码的对象为字符串
post_data = urlencode({
    'username':'[email protected]',
    'password':'shuai123'
}).encode('utf-8')
# 请求url 并传参 设置编码方式
response = opener.open(post_url,post_data)
cookie.save(ignore_discard=True , ignore_expires=True)#上面创建一个保存cookies的空文件,这里进行保存
# 利用登陆获取的cookie来请求美食杰首页
cookie = LWPCookieJar()
cookie.load('meishi123123.txt',ignore_expires=True ,ignore_discard=True)
opener = build_opener(HTTPCookieProcessor(cookie))
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0'
}
requset =Request('https://www.meishij.net/',headers=headers)
response = opener.open(requset)
print(response.read().decode())

方式二

from http.cookiejar import CookieJar ,LWPCookieJar
from urllib.request import Request ,urlopen ,HTTPCookieProcessor ,build_opener
from urllib.parse import urlencode

def get_cookie_from_network():
    from selenium import webdriver
    url_login = 'http://login.weibo.cn/login/' 
    driver = webdriver.PhantomJS()
    driver.get(url_login)
    driver.find_element_by_xpath('//input[@type="text"]').send_keys('your_weibo_accout') # 改成你的微博账号
    driver.find_element_by_xpath('//input[@type="password"]').send_keys('your_weibo_password') # 改成你的微博密码

    driver.find_element_by_xpath('//input[@type="submit"]').click() # 点击登录

    # 获得 cookie信息
    cookie_list = driver.get_cookies()
    print cookie_list

    cookie_dict = {}
    for cookie in cookie_list:
        #写入文件
        f = open(cookie['name']+'.weibo','w')
        pickle.dump(cookie, f)
        f.close()

        if cookie.has_key('name') and cookie.has_key('value'):
            cookie_dict[cookie['name']] = cookie['value']

    return cookie_dict

猜你喜欢

转载自blog.csdn.net/qq_38059635/article/details/81637807