Example #1
0
class CompanyPrice:
    def __init__(self):
        self.sinaApi = 'http://hq.sinajs.cn/list=%s'
        self.db = DbConn()

    def getPriceInfo(self, code):
        r = random.uniform(0, 3)
        time.sleep(r)
        url = self.sinaApi % (code)
        page = Crawler.getPage(url, "gbk")
        tmp = page.split('"')
        return tmp[1].split(',')

    def getCompanyList(self):
        sql = "select code,type from company;"
        sqlIn = """insert into price(companyid,price,createtime) values('%s','%s','%s')"""
        self.db.execute(sql)
        res = self.db.getRes()
        for i in res:
            if 'sh' == i[1]:
                post = 'sh' + i[0]
            else:
                post = 'sz' + i[0]
            priceInfo = self.getPriceInfo(post)
            if len(priceInfo) < 31:
                print i[0] + " failed!"
                continue
            currentPrice = priceInfo[3]
            currentTime = priceInfo[30]
            cmd = sqlIn % (i[0],currentPrice,currentTime)
            self.db.execute(cmd)
            print i[0], currentPrice, currentTime