import requests import sys import json import datetime # Provide your keys apikey = "your_api_key" apisecret = "your_secret_key" # apiurl = "https://api.codepunch.com/dnfeed/v2/" # get_api_token # token = get_api_token() # def get_api_token(): AUTHURLFMT = "{}auth/{}/{}" url = AUTHURLFMT.format(apiurl, apikey, apisecret) response = requests.get(url) if response.status_code == 200: apiresponse = response.json() else: raise Exception('Authentication: {}' . format(response.status_code)) if bool(apiresponse['status']) != True: raise Exception(apiresponse['error']) return apiresponse['token'] # get_api_data # parameters = {"date": "20200624", "format": "json", "limit": 50, "kw": "%apple%"} # thedata = get_api_data(token, "added", parameters) # domaindata = thedata['data'] # for d in domaindata['data']: # print (d['domain']) # def get_api_data(token, command, parameters): APIURLFMT = "{}{}/{}/" url = APIURLFMT.format(apiurl, token, command) response = requests.get(url, params=parameters) if(response.status_code != 200): raise Exception('Invalid response code: {}' . format(response.status_code)) apiresponse = response.json() if bool(apiresponse['status']) != True: raise Exception(apiresponse['error']) return apiresponse # get_api_zip_file # parameters = {"source": "added"} # get_api_zip_file(token, "dailyzip", parameters, "latest.zip") # def get_api_zip_file(token, command, parameters, filename): APIURLFMT = "{}{}/{}/" url = APIURLFMT.format(apiurl, token, command) response = requests.get(url, params=parameters) totalbits = 0 if response.status_code == 200: with open(filename, 'wb') as f: for chunk in response.iter_content(chunk_size=1024): if chunk: totalbits += 1024 f.write(chunk) print("Downloaded",totalbits*1025,"KB...") else: raise Exception('Invalid response code: {}' . format(response.status_code)) ######################################################################################### # Get the token and then the data try: token = get_api_token() print("Token: " + token) yesterday = datetime.date.today() - datetime.timedelta(days=1) datecode = yesterday.strftime("%Y%m%d") # Find domains that contain paypal or apple keywords = "%apple%|%paypal%" parameters = {"date": datecode, "limit": 50, "kw": keywords, "format": "json"} thedata = get_api_data(token, "deleted", parameters) domaindata = thedata['data'] for d in domaindata: print (d['domain']) #Uncomment below to download ZIP file #parameters = {"source": "added"} #get_api_zip_file(token, "dailyzip", parameters, "latest.zip") except Exception as e: print(repr(e));