def import_data(): snapshot = Snapshot() snapshot.snapshot = datetime.now() snapshot.save() print "Importing data from finviz" r = requests.get('http://finviz.com/export.ashx?v=152', cookies={"screenerUrl": "screener.ashx?v=152&f=cap_smallover&ft=4", "customTable": "0,1,2,6,7,10,11,13,14,45,65"}) data = csv_to_dicts(r.text) tickers = [] for row in data: try: stock = Stock() stock.snapshot = snapshot if row["Ticker"]: stock.Ticker = row["Ticker"] print stock.Ticker tickers.append(stock.Ticker) if "Importing " + row["Company"]: stock.Company = row["Company"] if row["Market Cap"]: stock.MarketCap = row["Market Cap"] if row["P/E"]: stock.PE = row["P/E"] if row["P/S"]: stock.PS = row["P/S"] if row["P/B"]: stock.PB = row["P/B"] if row["P/Free Cash Flow"]: stock.PFreeCashFlow = row["P/Free Cash Flow"] if row["Dividend Yield"]: stock.DividendYield = row["Dividend Yield"][:-1] if row["Performance (Half Year)"]: stock.PerformanceHalfYear = row["Performance (Half Year)"][:-1] if row["Price"]: stock.Price = row["Price"] stock.save() except: pdb.set_trace() import_evebitda(snapshot) import_buyback_yield(snapshot)