You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
701 B

  1. from lxml.etree import etree
  2. class __price_scraper__:
  3. def __init__(self,url,page_source):
  4. self.url = url
  5. self.page_source = page_source
  6. self.etree = etree.fromstring(self.page_source)
  7. def scrape(self):
  8. scrape_for = ['price','name']
  9. if self.in_stock():
  10. for cat in scrape_for:
  11. self.__setattr__(cat,eval_xpath(cat))
  12. def eval_xpath(name):
  13. return self.etree.xpath(self.xpaths[name])
  14. def __get_stock__(self):
  15. return self.eval_xpath('in_stock')
  16. def amazon_scraper(__price_scraper__):
  17. xpaths = {
  18. }
  19. def in_stock(self):
  20. stock_val = self.__get_stock__()
  21. return stock_val != 'poop'