Example #1
0
    def _get_bets_from_url(self, match_url):
        """
        Scraps data such as match titles, bet titles and odds from the given match url

        :param match_url: any match url on the website
        :type match_url: str
        :return: bets dictionary in the following form:
        bets[match_title][bet_title] = odds
        :rtype: dict
        """
        self.renderer.get(match_url)
        time.sleep(2)
        bets = []
        main_table = self.renderer.wait.until(
            EC.presence_of_element_located(
                (By.CLASS_NAME, 'Match__container___fpI_d')))
        # main_table = self.renderer.find_element_by_class_name('Match__container___fpI_d')
        teams = [
            el.text for el in main_table.find_elements_by_class_name(
                '__app-PromoMatchBody-competitor-name')
        ]
        # print(teams)
        try:
            date = main_table.find_element_by_class_name(
                'dateTime__date___2QS99').text.lower()
        except Exception:
            date = ''
        match = Match(MatchTitle(teams), match_url, date)

        self._parse_marketblocks(bets, match_url)

        match.bets = bets
        return match
Example #2
0
    def _get_bets_from_url(self, match_url):
        self.renderer.get(match_url)
        bets = []
        basic_info = self.renderer.wait.until(
            EC.presence_of_element_located(
                (By.CLASS_NAME, 'sticky-inner-wrapper')))
        # basic_info = self.renderer.find_element_by_class_name('sticky-inner-wrapper')

        date = basic_info.find_element_by_class_name(
            'event--date--1').text.lower()
        date = self._format_date(date)
        teams = [
            el.text for el in basic_info.find_element_by_class_name(
                'event--name').find_elements_by_tag_name('span')
        ]
        match = Match(MatchTitle(teams), match_url, date, self)
        element = self.renderer.wait.until(
            EC.presence_of_element_located((By.CLASS_NAME, 'slick-block')))
        element = self.renderer.wait.until(
            EC.element_to_be_clickable((By.CLASS_NAME, 'slick-block')))
        try:
            self.renderer.click(element)
        except Exception:
            print('ne mogu nazhat na all')

        time.sleep(0.5)
        self._parse_marketblocks(bets, match_url)

        match.bets = bets
        return match