LOoLzeC

Untitled

Jun 29th, 2019
1,422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1. # Coded By Deray
  2.  
  3. import requests,bs4,sys
  4.  
  5. class ip_geolocation(object):
  6.     def __init__(self,ip):
  7.         self.ip=ip
  8.         self.data=[]
  9.         self.dor=0
  10.         self.realdata=[]
  11.         self.res=[]
  12.         self.fakenum=0
  13.         self.crawl()
  14.    
  15.     # <-- LOAD BS4 RESPONSE -->
  16.     def crawl(self):
  17.         self.bs=bs4.BeautifulSoup(
  18.             requests.get("https://ipgeolocation.io/ip-location/"+self.ip,
  19.         headers={
  20.             "User-Agent":"Mozilla/5.0 (Linux; Android 5.1)"}).text,"html.parser")
  21.         print "-"*20+self.ip+"-"*20+"\n"
  22.         self._loopdata()
  23.    
  24.     # <-- LOAD DATA -->
  25.     def _loopdata(self):
  26.         for i in self.bs.find_all("td"):
  27.             self.data.append(i.text)
  28.         self.loop_realdata()
  29.    
  30.     # <-- FILTERING DATA -->
  31.     def loop_realdata(self):
  32.         for i in self.data:
  33.             self.dor+=1
  34.             if self.dor>18:
  35.                 if i =="":
  36.                     continue
  37.                 self.realdata.append(i.replace("\n",""))
  38.         self._result()
  39.    
  40.     # <-- GOT RESULT -->
  41.     def _result(self):
  42.         for i in self.realdata:
  43.             self.fakenum+=1
  44.             self.res.append(i)
  45.             if len(self.res) ==2:
  46.                 self._map_result(self.res)
  47.                 self.res=[]
  48.                
  49.     # <-- MAP RESULT -->
  50.     def _map_result(self,_data):
  51.         d=list(_data[0])
  52.         for i in range(30):
  53.             if len(d) ==30:
  54.                 print "".join(d)+": "+_data[1]
  55.                 break
  56.             else:d.append(" ")
  57.  
  58. if __name__ =="__main__":
  59.     if len(sys.argv) ==1:print "Ussage: python "+sys.argv[0]+" <ip>"
  60.     elif len(sys.argv) ==2:ip_geolocation(sys.argv[1])
  61.     else:print "Ussage: python "+sys.argv[0]+" <ip>"
Advertisement
Add Comment
Please, Sign In to add comment