from lxml.etree import etree class __price_scraper__: def __init__(self,url,page_source): self.url = url self.page_source = page_source self.etree = etree.fromstring(self.page_source) def scrape(self): scrape_for = ['price','name'] if self.in_stock(): for cat in scrape_for: self.__setattr__(cat,eval_xpath(cat)) def eval_xpath(name): return self.etree.xpath(self.xpaths[name]) def __get_stock__(self): return self.eval_xpath('in_stock') def amazon_scraper(__price_scraper__): xpaths = { } def in_stock(self): stock_val = self.__get_stock__() return stock_val != 'poop'