def produce(self, site): ''' save the prod data correspond to model laptop to database ''' prod = self._miner.get_prod(site) data = self._miner.output(prod) if data: obj = laptop( url=data['url'], title=data['title'], picture=data['picture'], cpu=data['cpu'], ram=data['ram'], ram_num=data['ram_num'], hardware=data['hardware'], screen=data['screen'], screen_num=data['screen_num'], price=data['price'], else_spec=data['else_spec']) self._lock.acquire() obj.save() self._lock.release()
def transform(): ''' anything for test... ''' screen_num = re.compile('(?P<num>\d+[.]*\d+)[吋"]+') ram_num = re.compile('(?P<num>\d+)[ ]*G') file = open('D:/tt.txt', 'r') obj = json.loads(file.read()) file.close() for index in obj: data = obj[index].copy() obj[index]['screen'] obj[index]['ram'] print(obj[index]['ram']) print(obj[index]['screen']) data['ram_num'] = ram_num.search(obj[index]['ram']).group('num') data['screen_num'] = screen_num.search(obj[index]['screen']).group('num') db = laptop( url=data['url'], title=data['title'], picture=data['picture'], cpu=data['cpu'], ram=data['ram'], ram_num=data['ram_num'], hardware=data['hardware'], screen=data['screen'], screen_num=data['screen_num'], price=data['price'], else_spec=data['else_spec']) db.save()