#!/usr/bin/env python3 import urllib.request import re def main(): ac = input('Enter the area code to compute: ') url = 'http://www.allareacodes.com/%s' % ac body = requestPage(url) # Find the region we are intreasted in. findStart = re.search(r'Area Code ' + ac + ' Prefixes', body) findEnd = re.search(r'Most Searched Numbers', body) try: startSpan = findStart.span()[1] endSpan = findEnd.span()[0] except AttributeError: print('Error: Area code is not valid.') quit() getPrefix = re.findall(r'\(\d{3}\) \d{3}', body[startSpan:endSpan]) prefix = cleanList(getPrefix) # Removes '(305) ' makeFile(ac, prefix) def requestPage(url): req = urllib.request.Request(url) response = urllib.request.urlopen(req) return response.read().decode('utf-8') def cleanList(getPrefix): prefix = [] for fix in getPrefix: prefix.append(fix[6:]) return prefix def makeFile(ac, prefix): textFile = open('%s_numbers' % ac, 'w') for x in prefix: for i in range(10000): textFile.write('%s%s%s\n' % (ac, x, str(i).zfill(4))) textFile.close() print('Done. Area code %s had %s prefixes' % (ac, len(prefix))) if __name__ == '__main__': main() 1 http://packetfactory.wordpress.com/2012/06/29/generate-10-digit-phone-numbers-using-crunch-in-backtrack/ 2 http://www.josephlandry.com/2011/01/phone-number-dictionary-file-for.html 3 http://www.nanpa.com 4 http://pastebin.com/v2jJHYZ2