㈠ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來
兩種方式:
一、
介面,可以pip install requests模塊,安裝一個requests,對介面支持簡單好用
例子,寫一個getcookie()方法
import requests
def getcookie():
data={'username':username,'password':pwd}
session=requests.session()
loginurl="http://xxx.com/login"
#具體要介面登錄後才可以獲得cookies
result=session.post(loginurl,data=data)
cookies=requests.utils.dict_from_cookiejar(session.cookies)
return cookies
二、
UI自動化登錄:可以easy_install -U selenium,安裝selenium模塊,支持UI自動化,模擬前端,用戶名、密碼登錄後,這種方式也可以獲得cookie
一個例子,登錄csdn,並且獲取cookie,用戶名和密碼我隱去了,可以參考。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium
import os,time
import sys
sys.path.append("..")
import web
import datetime
#默認得安裝一個火狐瀏覽器
class webconn:
def __init__(self,drivertype):
self.drivertype=drivertype
def web_conn(self):
PASS=0
FAIL=0
get_cookie={}
t=datetime.datetime.now()
starttime=datetime.datetime.now()
driver = webdriver.Firefox()
try:
driver.get('https://passport.csdn.net/account/login')
time.sleep(2)
assert u'帳號登錄' in driver.title
driver.find_element_by_id("username").send_keys(u"yoursername")
print "輸入用戶名"
driver.find_element_by_id("password").send_keys(u"yourpassword")
print "輸入密碼"
driver.find_element_by_class_name("logging").click()
time.sleep(2)
assert u'全球最大中文' in driver.title
driver.add_cookie({'name':'key-aaaaaa','value':'value-bbbb'})
for cookie in driver.get_cookies():
print "%s -> %s" %(cookie['name'],cookie['value'])
get_cookie[cookie['name'].encode("UTF-8")]=cookie['value'].encode("UTF-8")
print "cookie cookie cookie cookie cookie"
print get_cookie
PASS=PASS+1
except Exception,e:
print(str(Exception)+":"+str(e))
FAIL=FAIL+1
finally:
driver.close()
driver.quit()
endtime=datetime.datetime.now()
totaltime=endtime-starttime
usetime=str(endtime-starttime)
hour=usetime.split(':').pop(0)
minute=usetime.split(':').pop(1)
second=usetime.split(':').pop(2)
totaltime=float(hour)*60*60+float(minute)*60+float(second)
totaltime=str(totaltime)+"s"
return get_cookie
㈡ python爬蟲使用Cookie如何進行
Cookie,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密),比如說有些網站需要登錄後才能訪問某個頁面,在登錄之前,你想抓取某個頁面內容是不允許的。那麼我們可以利用Urllib2庫保存我們登錄的Cookie,然後再抓取其他頁面就達到目的了,那麼python爬蟲使用Cookie如何進行?
㈢ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來
可以用cookielib進行cookie操作
#coding:utf-8
import urllib,urllib2,cookielib
cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_path = 'xxxxxxxxxx.com/login'
data = {"name":"xxxxxxx","passwd":"xxxxxxxx"}
post_data = urllib.urlencode(data)
request = urllib2.Request(login_path,post_data)
html = opener.open(request).read()
if cj:
print cj
cj.save('cookiefile.txt')
㈣ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來
cookielib.CookieJar(),自動進行cookie管理:實例:
cj = cookielib.Cookiejar()
urlopen('...')
for index, cookie in enumerate(cj):
print '[',index, ']',cookie
㈤ python獲取cookie後怎麼模擬登陸網站
運行平台:Windows
Python版本:Python3.x
IDE:Sublime text3
一、為什麼要使用Cookie
Cookie,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。
比如說有些網站需要登錄後才能訪問某個頁面,在登錄之前,你想抓取某個頁面內容,登陸前與登陸後是不同的,或者不允許的。
使用Cookie和使用代理IP一樣,也需要創建一個自己的opener。在HTTP包中,提供了cookiejar模塊,用於提供對Cookie的支持。
三、總結
獲取成功!如果看過之前的筆記內容,我想這些代碼應該很好理解吧。
㈥ 請問python如何清除cookie呢
第一次訪問頁面後,Server可將Cookie信息加入HTTP Header返回給瀏覽器,瀏覽器會自動將這些信息保存在本地;
當再次訪問相同域名時,瀏覽器將對應Cookie信息隨請求一起發送,Server端可讀取這些信息進行處理。
Cookie可設置過期時間,到期後由瀏覽器自動刪除;
當我們要返回頁面時,首先輸出如下:
print"Content-type:text/plain "
它其實是一個HTTP Header, 連續碰到兩個換行表示HTTP Header部分結束,剩餘部分將被做為數據處理;
包含了Cookie後輸出大致如下:
print"Content-Type:text/html"
print"Set-Cookie:session=12345"
print#多加一個換行表示HTTPHeader部分結束
代碼:
setcookie.py
#!/usr/bin/envpython
importCookie
importdatetime
importrandom
expiration=datetime.datetime.now()+datetime.timedelta(days=30)
cookie=Cookie.SimpleCookie()
cookie["session"]=random.randint(0,1000000000)
cookie["session"]["domain"]="localhost"
cookie["session"]["path"]="/"
cookie["session"]["expires"]=
expiration.strftime("%a,%d-%b-%Y%H:%M:%SPST")
print"Content-type:text/plain"
printcookie.output()
print"Cookiesetwith:"+cookie.output()
getcookie.py
#!/usr/bin/envpython
importCookie
importos
print"Content-type:text/plain "
try:
cookie=Cookie.SimpleCookie(os.environ["HTTP_COOKIE"])
print"session="+cookie["session"].value
except(Cookie.CookieError,KeyError):
print"sessioncookienotset!"
㈦ python 怎麼生成cookies
生成方法如下
import Cookie
import datetime
import random
expiration = datetime.datetime.now() + datetime.timedelta(days=30)
cookie = Cookie.SimpleCookie()
cookie["session"] = random.randint(1000000000)
cookie["session"]["domain"] = ".com"
cookie["session"]["path"] = "/"
cookie["session"]["expires"] = \
expiration.strftime("%a, %d-%b-%Y %H:%M:%S PST")
print "Content-type: text/plain"
print cookie.output()
print
print "Cookie set with: " + cookie.output()
㈧ python 爬蟲為什麼要獲取響應的cookie
Cookie是指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。比如說有些網站需要登錄後才能訪問某個頁面,在登錄之前你想抓取某個頁面內容是不允許的。那麼可以利用Urllib庫保存登錄的Cookie,然後再抓取其他頁面,這樣就達到了你的目的。爬蟲過程中只用python來保存cookie信息模擬登錄是不行的,爬蟲限制有很多,例如同一IP短時間內多次訪問同一頁面,或者同一賬戶短時間內多次進行相同操作等等。
㈨ Python 使用cookie登陸的問題
cookie是有過期時間的,網站設置了有個值,所以到了過期時間就會失效
退出了的話伺服器會知道你的cookie里session已經過期。
大概有,比如經常保持此會話活動狀態。
不過最好還是把你的代碼改進為腳本自動登錄獲取cookie,Python的requests庫文檔里有講怎麼配置登錄:http://cn.python-requests.org/zh_CN/latest/
㈩ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來
importrequests
Url="http://xxxx/login"
s=requests.Session()
#post
s.get(Url)
#maybe,s.post(Url,data=data,json=json_data)
print(s.cookies)