Skip to content

Commit 290e01b

Browse files
committed
first commit
1 parent 1c21566 commit 290e01b

File tree

15 files changed

+115
-0
lines changed

15 files changed

+115
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,6 @@ venv.bak/
102102

103103
# mypy
104104
.mypy_cache/
105+
106+
.idea
107+
idea/

main.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from src.spider.spider_66_ip import Spider66Ip
2+
3+
if __name__ == '__main__':
4+
Spider66Ip().crawl()

setting.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from src.spider import Spider66Ip
2+
3+
DB_TYPE = 'memory' # memory/redis
4+
5+
SPIDER_LIST = [Spider66Ip]

src/__init__.py

Whitespace-only changes.

src/database/__init__.py

Whitespace-only changes.

src/database/abs_database.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class AbsDatabase(object):
2+
3+
def put(self, key, value):
4+
raise RuntimeError('该put方法未实现!')
5+
6+
def get(self, key):
7+
raise RuntimeError('该get方法未实现!')
8+
9+
def remove(self, key):
10+
raise RuntimeError('该remove方法未实现!')

src/database/memory.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from src.database.abs_database import AbsDatabase
2+
3+
4+
class Memory(AbsDatabase):
5+
"""
6+
数据库:基于内存实现
7+
"""
8+
def __init__(self) -> None:
9+
self._box = {}
10+
11+
def put(self, key, value):
12+
self._box[key] = value
13+
14+
def get(self, key):
15+
return self._box[key]
16+
17+
def remove(self, key):
18+
return self._box.pop(key, None)

src/entity/__init__.py

Whitespace-only changes.

src/entity/proxy_entity.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class ProxyEntity(object):
2+
3+
def __init__(self, ip, port, source='', type='', check_count=0, region='', last_check_time=None):
4+
self._ip = ip
5+
self._port = port
6+
self._source = source
7+
self._type = type
8+
self._check_count = check_count
9+
self._region = region
10+
self._last_check_time = last_check_time
11+
12+
@property
13+
def ip(self):
14+
return self._ip
15+
16+
@property
17+
def port(self):
18+
return self._port
19+
20+
@property
21+
def source(self):
22+
return self._source
23+
24+
@property
25+
def type(self):
26+
return self._type
27+
28+
@property
29+
def check_count(self):
30+
return self._check_count
31+
32+
@property
33+
def region(self):
34+
return self._region
35+
36+
@property
37+
def last_check_time(self):
38+
return self._last_check_time

src/exception/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)