Example #1
0
class StockList:
    def __init__(self, url):
        self.url = url
        self.db = DbConn()

    def close(self):
        self.db.close()

    def getIndexPage(self):
        return Crawler.getPage(self.url, "gbk")

    def getResult(self, res):
        arr = []
        for item in res:
            tmp = item.text
            l = len(tmp)
            name = tmp[:l - 8].replace(' ', '')
            code = tmp[l - 7:l - 1].replace(' ', '')
            arr.append((name, code))
        return arr


    def getCompany(self):
        page = self.getIndexPage()
        sql = """insert into company(code,name,type) values('%s','%s','%s')"""
        soup = BeautifulSoup(page)
        liangshi = soup.findAll('div', attrs={'class': 'result'})
        hushi = liangshi[0].find('ul').findAll('li')
        shenshi = liangshi[1].find('ul').findAll('li')
        chuangye = liangshi[2].find('ul').findAll('li')
        arr = self.getResult(hushi)
        for i in arr:
            cmd = sql % (i[1], i[0], 'sh')
            self.db.execute(cmd)

        arr = self.getResult(shenshi)
        for i in arr:
            cmd = sql % (i[1], i[0], 'sz')
            self.db.execute(cmd)

        arr = self.getResult(chuangye)
        for i in arr:
            cmd = sql % (i[1], i[0], 'cz')
            self.db.execute(cmd)