-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmongodb.py
More file actions
68 lines (40 loc) · 1.28 KB
/
mongodb.py
File metadata and controls
68 lines (40 loc) · 1.28 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from datetime import datetime
import pymongo
from pymongo import MongoClient
class MongoDB():
def __init__(self):
self.client = MongoClient()
self.db = self.client["wwebcrawler"]
self.collection = self.db["wwebcrawlercollection"]
def Insert(self,url,count):
urll={
"url":url,
"count":count,
"date":datetime.now().strftime('%d-%m-%Y %H:%M:%S')
}
try:
self.collection.insert(urll)
except:
return False
def UrlListCount(self):
myresults = list(self.collection.find().sort("count",pymongo.DESCENDING))[:10]
return myresults
def UrlListDate(self):
myresults = list(self.collection.find().sort("date",pymongo.DESCENDING))[:10]
return myresults
def UrlSearch(self,url):
result=self.collection.find_one({"url":url})
count=0
if(not result):
self.Insert(url,count+1)
else:
count=result["count"]+1
self.collection.update({"url":url},
{
"$set":{
"url":url,
"count":count,
"date": datetime.now().strftime('%d-%m-%Y %H:%M:%S')
}
}
)