forked from DropsDevopsOrg/ECommerceCrawlers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdbcookie.py
55 lines (46 loc) · 1.53 KB
/
dbcookie.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from pymongo import MongoClient
from cookiepool.settings import MONGO_PORT, MONGO_IP
class DbClient():
def __init__(self, ip=MONGO_IP, port=MONGO_PORT):
conn = MongoClient(ip, port)
self.db = conn.taobao
self.cookie_set = self.db.cookies
def insert(self, cookies):
"""
Insert cookies to collection.
:cookie: dict of cookies
"""
self.cookie_set.insert_one(cookies)
def delete_all(self,dict):
self.cookie_set.delete_many(dict)
def delete(self,user):
"""
Delete cookies.
"""
self.cookie_set.delete_one({"user":user})
def update_cookie_flag2(self,user):
self.cookie_set.update({'user':user},{'$set':{"flag":2}})
def update_cookie_flag0(self,user):
self.cookie_set.update({'user':user},{'$set':{"flag":0}})
def update_cookie_flag1(self,user,cookies,t):
self.cookie_set.update({'user':user},{'$set':{"flag":1,"cookies":cookies,"time":t}})
def get_cookies(self,flag):
"""
Get cookies
:return: if cookies exist, return cookie, else return None
"""
q = self.cookie_set.find_one({"flag":flag})
if q:
return q
else:
return None
def get_requests_cookie(self):
q = self.cookie_set.find_one({"flag":1})
d = {}
if q:
cookies = q['cookies']
for cookie in cookies:
d[cookie.get('name')] = cookie.get('value')
return d
else:
return None