plaintext list filtered by country · d022e28816 - SVN.BY: Go Git Service
Browse Source

plaintext list filtered by country

eri 7 years ago
parent
commit
d022e28816
2 changed files with 44 additions and 10 deletions
  1. 14 10
      get_ips.py
  2. 30 0
      get_ips_plain.py

+ 14 - 10
get_ips.py

@@ -2,30 +2,34 @@ import socket
2 2
 from tempfile import NamedTemporaryFile
3 3
 import shutil
4 4
 import csv
5
+import logging
5 6
 
6 7
 
7 8
 def get_ips(row):
8 9
     try:
9 10
         addrs = list(set([str(i[4][0]) for i in socket.getaddrinfo(row[0], row[1], socket.AF_INET)]))
10
-        print row[0] + ' has ips: ' + ','.join(addrs)
11
+        logging.info(row[0] + ' has ips: ' + ','.join(addrs))
11 12
         if len(row) == 3:
12 13
             row.append(addrs)
13 14
         elif len(row) == 4:
14 15
             row[3] = addrs
15 16
     except:
16 17
         if len(row) == 3:
17
-            row.append('')
18
+            row.append([])
18 19
     finally:
19 20
         return row
20 21
 
22
+if __name__ == "__main__":
23
+    
24
+    logging.basicConfig(level=logging.INFO)
21 25
 
22
-filename = 'acs_url.csv'
23
-tempfile = NamedTemporaryFile(delete=False)
26
+    filename = 'acs_url.csv'
27
+    tempfile = NamedTemporaryFile(delete=False)
24 28
 
25
-with open(filename, 'rb') as csvFile, tempfile:
26
-    reader = csv.reader(csvFile, delimiter=',', quotechar='"')
27
-    writer = csv.writer(tempfile, delimiter=',', quoting=csv.QUOTE_ALL)
28
-    for row in reader:
29
-        writer.writerow(get_ips(row))
29
+    with open(filename, 'rb') as csvFile, tempfile:
30
+        reader = csv.reader(csvFile, delimiter=',', quotechar='"')
31
+        writer = csv.writer(tempfile, delimiter=',', quoting=csv.QUOTE_ALL)
32
+        for row in reader:
33
+            writer.writerow(get_ips(row))
30 34
 
31
-shutil.move(tempfile.name, filename)
35
+    shutil.move(tempfile.name, filename)

+ 30 - 0
get_ips_plain.py

@@ -0,0 +1,30 @@
1
+import socket
2
+import csv
3
+import sys
4
+import argparse
5
+import os
6
+import get_ips
7
+
8
+if __name__ == "__main__":
9
+    parser = argparse.ArgumentParser(description='Process some contiries.')
10
+    parser.add_argument('--country', metavar='', type=str, nargs='+', help='contiries (default: all)')
11
+    parser.add_argument('--file', help='file to write (default: stdout)')
12
+
13
+    args = parser.parse_args()
14
+
15
+    if args.file:
16
+        out = open(args.file,'w')
17
+    else:
18
+        out = sys.stdout
19
+
20
+    filename = 'acs_url.csv'
21
+    with open(filename, 'rb') as csvFile:
22
+        reader = csv.reader(csvFile, delimiter=',', quotechar='"')
23
+        if args.country:
24
+            reader = filter( lambda x: x[2] in args.country, reader)
25
+	for row in reader:
26
+            ret = get_ips.get_ips(row)
27
+            out.writelines([ip + os.linesep for ip in ret[3]])
28
+    
29
+    if args.file:
30
+        out.close()