def generate_autotrader_url(self): database = Database() database.initialize() data = database.find_one(collection='scraping', query={}) base_url = data['scraping_dict'][self.make]['Autotrader']['models'][ self.model]['url'] try: trans_string = self.transmissions[0] for trans in ["," + i for i in self.transmissions[1:]]: trans_string += trans except IndexError: trans_string = None payload = { 'body': self.body_types, 'yRng': self.min_year + "," + self.max_year, 'trans': trans_string, 'pRng': self.min_price + "," + self.max_price, 'oRng': self.min_kms + "," + self.max_kms } self.autotrader_url = requests.get(base_url, params=payload).url
def generate_kijiji_url(self): database = Database() database.initialize() data = database.find_one(collection='scraping', query={}) if self.body_types != "": url = data['scraping_dict'][self.make]['kijiji']['models'][ self.model]['body_types'][self.body_types] else: url = data['scraping_dict'][self.make]['kijiji']['models'][ self.model]['url'] final_url = "http://www.kijiji.ca" + url trans_nums, trans_dict = [], { 'manual': "1", 'automatic': "2", 'other': '3' } for trans in self.transmissions: trans_nums.append(trans_dict[trans.strip().lower()]) payload = { 'minPrice': self.min_price, 'maxPrice': self.max_price, 'attributeFiltersMin[caryear_i]': self.min_year, 'attributeFiltersMax[caryear_i]': self.max_year, 'keywords': self.mandatory_keywords, 'transmission': '__'.join(trans_nums) } r = requests.get(final_url, params=payload) if any([(self.min_kms != ""), (self.max_kms != "")]): payload_kms = { 'attributeFiltersMin[carmileageinkms_i]': self.min_kms, 'attributeFiltersMax[carmileageinkms_i]': self.max_kms, } r_kms = requests.get(r.url, params=payload_kms) self.kijiji_url = r_kms.url else: self.kijiji_url = r.url