예제 #1
0
 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
예제 #2
0
 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