直接給出答案:注釋掉cookies_enabled
解釋cookies_enabled作用:
補充:**********中介軟體下如何實現請求攜帶cookie
在scrapy專案中的middlewares檔案中新增如下**:
class
cookiemiddleware
(object):
def__init__
(self)
: self.coll = db.conn[
'book_rwyxw_crawl'][
'login_cookies'
]def
process_request
(self, request, spider)
:if spider.name ==
'refer_detail_spider'
: cookie_str =
str(self.coll.find_one(,)
['cookies'])
cookie_list = cookie_str.split(
'=')
print
(cookie_list[0]
, cookie_list[1]
[:-1
])request.cookies =
上面的**,不用具體糾結是什麼意思(這是我從mongo裡拿對應賬戶的cookie),你只要知道建立乙個中介軟體類cookiemiddleware(名字隨便), 然後在定義的process_request方法中寫你新增cookies的邏輯就好。
注意:通常返回給你的cookie是乙個像下面的字串,你需要去切分出來,給request.cookies傳遞字典或者json格式的資料
jsessionid=
7e13ffca22b71b3b28cbd397163ab5d4
; uniqueid=dyr5oycudc2pg6og1604986933643; sites=_20003; right_status=
1; left_status=
0; undefined_vq=
192
下面函式為將cookies字串轉化成dict
def
transform
(cookies)
: cookie_dict =
cookies = cookies.replace(
' ','')
lis = cookies.split(
';')
for i in lis:
key = i.split(
'=')[0
] value = i.split(
'=')[1
] cookies_dict[key]
= value
return cookies_dict
javascript 設定和獲取cookie
在做專案的時候需要在前端獲取和設定cookie,原本想用jquery.cookie.js,但是懶得引入指令碼,就在js檔案裡直接使用了js的函式來呼叫。function getcookie cname return 呼叫 getcookie name function setcookie c nam...
js中設定cookie以及獲取cookie
當使用者訪問 web 頁面時,他的名字可以記錄在 cookie 中。在使用者下一次訪問該頁面時,可以在 cookie 中讀取使用者訪問記錄。cookie 以名 值對形式儲存 js中可以通過document.cookie屬性來建立,讀取以及刪除cookie document.cookie userna...
jQuery設定 獲取瀏覽器會話Cookie
jquery 段可為使用者會話設定 獲取瀏覽器cookie。當使用者單擊某些內容時,這可以用於儲存檢視狀態。下面的示例顯示cookie被儲存以儲存元素的可見性。event to hide element element hide cookie cookie name not in view even...