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()