Web scraping Python
Publicado: 06 Ene 2021, 13:13
Buenos dias, dados los tiempos que corren en los que no hay stock apenas de nada en ningun sitio, por lo menos de tarjetas graficas que es lo que a mi me interesa, me decidi a buscar un programita de web scraping para que me avisara cuando algo de lo que busco se pusiera en stock y me diera tiempo a poder comprarlo, encontre uno que se puede instalar en la raspberry pi, que puede estar dia y noche buscando ya que apenas consume, y funciona perfectamente pero en las web que trae preconfiguradas, parece que lleva un archivo configurado para cada pagina en la que busca, no parece que sea muy complicado adaptar por ejemplo el archivo que hace referencia a la pagina de amazon a la de pccomponentes, pero no lo consigo ya que mis conocimientos sobre pythom son muy limitados, dejo aqui el archico en cuestion a ver si hay alguna idea, gracias y feliz dia de reyes a todos!!
Código: Seleccionar todo
from scraper.common import ScrapeResult, Scraper, ScraperFactory class AmazonScrapeResult(ScrapeResult): def parse(self): alert_subject = 'In Stock' alert_content = '' # get name of product tag = self.soup.body.select_one('h1#title > span#productTitle') if tag: alert_content += tag.text.strip() + '\n' else: self.logger.warning(f'missing title: {self.url}') # get listed price tag = self.soup.body.select_one('div.a-section > span#price_inside_buybox') if not tag: tag = self.soup.body.select_one('div#price span#priceblock_ourprice') price_str = self.set_price(tag) if price_str: alert_subject = f'In Stock for {price_str}' # check for add to cart button tag = self.soup.body.select_one('span.a-button-inner > span#submit\\.add-to-cart-announce') if tag: self.alert_subject = alert_subject self.alert_content = f'{alert_content.strip()}\n{self.url}' @ScraperFactory.register class AmazonScraper(Scraper): @staticmethod def get_domain(): return 'amazon' @staticmethod def get_driver_type(): return 'selenium' @staticmethod def get_result_type(): return AmazonScrapeResult