From 26fe05203e62a8e95e26197cd50bcfaf9f6e746e Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Sat, 24 Nov 2018 15:48:09 -0600 Subject: [PATCH] Added outline for price_scraper classes --- interface/quadparts.db | Bin 204800 -> 0 bytes {interface => quad_parts}/price.py | 0 quad_parts/price_scraper.py | 25 +++++++++++++++++++++++ {interface => quad_parts}/quad_dialog.py | 0 4 files changed, 25 insertions(+) delete mode 100644 interface/quadparts.db rename {interface => quad_parts}/price.py (100%) create mode 100644 quad_parts/price_scraper.py rename {interface => quad_parts}/quad_dialog.py (100%) diff --git a/interface/quadparts.db b/interface/quadparts.db deleted file mode 100644 index ea3ea17a913e22f4200b718324fafe9d1b8bc6ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204800 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 diff --git a/interface/price.py b/quad_parts/price.py similarity index 100% rename from interface/price.py rename to quad_parts/price.py diff --git a/quad_parts/price_scraper.py b/quad_parts/price_scraper.py new file mode 100644 index 0000000..cdf9162 --- /dev/null +++ b/quad_parts/price_scraper.py @@ -0,0 +1,25 @@ +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' \ No newline at end of file diff --git a/interface/quad_dialog.py b/quad_parts/quad_dialog.py similarity index 100% rename from interface/quad_dialog.py rename to quad_parts/quad_dialog.py