def main(): try: writer = symbolsxml.Writer() for symbol in open("merval-symbols.txt", "r"): symbol = symbol.strip() process_symbol(writer, symbol) # Index writer.addIndex("^MERV", "Merval") logger.info("Writing merval.xml") writer.write("merval.xml") except Exception, e: logger.error(str(e))
def parse_results(table): ret = symbolsxml.Writer() logger.info("Parsing table") rows = table.xpath("tr") for row in rows[1:]: cols = row.xpath("td") tickerSymbol = cols[TICKER_SYMBOL_COL].xpath("a[1]")[0].text company = cols[COMPANY_COL].xpath("a[1]")[0].text gics = cols[GICS_COL].text gicsSubIndustry = cols[GICS_SUB_INDUSTRY_COL].text if gicsSubIndustry is None: gicsSubIndustry = "" ret.addStock(tickerSymbol, company, gics, gicsSubIndustry) return ret
def main(): try: logger.info("Getting NASDAQ symbols from http://www.nasdaq.com/") url = "http://www.nasdaq.com/screening/companies-by-name.aspx?exchange=NASDAQ&render=download" buff = urllib2.urlopen(url).read() tmpFile = tempfile.NamedTemporaryFile() tmpFile.write(buff) tmpFile.flush() with open(tmpFile.name, 'rb') as csvfile: symbolsXML = symbolsxml.Writer() for row in csv.DictReader(csvfile): symbolsXML.addStock(row["Symbol"], row["Name"], row["Sector"], row["industry"]) logger.info("Writing nasdaq.xml") symbolsXML.write("nasdaq.xml") except Exception, e: logger.error(str(e))