def run(): sites = get_all_sites() try: sites.remove("newyork") sites.remove("chicago") except: pass cl = CLWatcher() print "Sites:", sites for site in sites: print "Processing for", site cl.setSite(site) cl.getHousingPosts() cl.getEvents() cl.save()
import json, time from craigslist import CraigslistHousing, CraigslistEvents from craigslist import get_all_sites print "sites:", get_all_sites() #DEFAULT_OUTPUT_PATH = "../Viewer/data/craigslist_data.json" DEFAULT_OUTPUT_PATH = "craigslist_data.json" class CLWatcher: def __init__(self, site="sfbay", autoSave=True, limit=500): self.recs = [] self.site = site self.limit = limit self.autoSave = autoSave def setSite(self, site): self.site = site def save(self, path=None): if path == None: path = DEFAULT_OUTPUT_PATH print "Saving to", path t0 = time.time() obj = {'type': 'craigslist', 't': time.time(), 'records': self.recs } json.dump(obj, file(path, 'w'), indent=3, sort_keys=True)