Задать вопрос

Почему появляется ошибка при парсере?

паршу сайт и есть 2 больших условия, при котором если имена бойцов подходят, то собираются данные, если нет, то переходит ко следующему условию. Проблема в том, что выходит ошибка, которая появляется после перехода ко 2 большому условию.
spoiler

import sched, time
s = sched.scheduler(time.time, time.sleep)


def f():

    import requests
    from selenium import webdriver

    import time
    browser=webdriver.Chrome()
    browser.maximize_window()
    browser.get('https://one-xskbdc.world/ru/live/Mortal-Kombat/1252965-Mortal-Kombat-X/')
    nameone1 = browser.find_element_by_xpath('//*[@id="games_content"]/div/div[1]/div/div/div[2]/div/div[1]/div[1]/a/span').text
    nameone1_massif = nameone1.split()
    del nameone1_massif[-1]
    if 'Рептилия' in nameone1_massif[0]  and 'Такеда' in nameone1_massif[1]:
        browser.find_element_by_xpath('//*[@id="games_content"]/div/div[1]/div/div/div[2]/div/div[1]/div[1]/a').click()
        time.sleep(5)
        browser.find_element_by_xpath('//*[@id="hottest_games"]/div/div[1]/div/div/div[2]/div/ul/li[1]/a').click()
        time.sleep(5)
        while True:
            win = browser.find_element_by_xpath('//*[@id="allBetsTable"]/div[1]/div[1]/div/div[2]/div[1]/span[2]').text
            print('Ставим на победу...')
            break
        all = browser.find_element_by_class_name('u-fg').text
        Allmassif = all.split()
        number = browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div/div/div[2]/div/div/div/div[1]/div[1]/div/div[2]/div/div/div[2]/div/div/div[2]').text
        SS = number.split()
        if SS[0] == '0' and SS[1] == '1':
            print('Матч  не подходит фаворит взял 1 раунд')
            browser.quit()
        elif SS[0] >= '1' and SS[1] >= '1':
            print('Матч уже идёт достаточное время')
            browser.quit()
        else:
            print('Ждём')
            while SS[1] != '1' and Allmassif[0] == "РЕПТИЛИЯ":
                time.sleep(30)
                browser.refresh()
                number = browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div/div/div[2]/div/div/div/div[1]/div[1]/div/div[2]/div/div/div[2]/div/div/div[2]').text
                S1 = number.split()
                if S1[1] == '1':
                    print('Ставка зашла')
                    browser.quit()
                all = browser.find_element_by_class_name('u-fg').text
                S2 = all.split()
                if S2[0] == 'РЕПТИЛИЯ':
                    continue
                else:
                    print('ДРУГОй МАТЧ')
                    browser.quit()
            else:
                print('Уже другой матч')
    else:
        print('Не подошёл')

    nameone1 = browser.find_element_by_xpath('//*[@id="games_content"]/div/div[1]/div/div/div[2]/div/div[1]/div[1]/a/span').text
    nameone1_massif = nameone1.split()
    del nameone1_massif[-1]
    if 'Кожаное' in nameone1_massif[0] and 'Горо' in nameone1_massif[2]:
        browser.find_element_by_xpath('//*[@id="games_content"]/div/div[1]/div/div/div[2]/div/div[1]/div[1]/a').click()
        time.sleep(5)
        browser.find_element_by_xpath('//*[@id="hottest_games"]/div/div[1]/div/div/div[2]/div/ul/li[1]/a').click()
        time.sleep(5)
        while True:
            win = browser.find_element_by_xpath('//*[@id="allBetsTable"]/div[1]/div[1]/div/div[2]/div[1]/span[2]').text
            print('Матч такой-то такой-то')
            break
        all = browser.find_element_by_class_name('u-fg').text
        Allmassif = all.split()
        number = browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div/div/div[2]/div/div/div/div[1]/div[1]/div/div[2]/div/div/div[2]/div/div/div[2]').text
        SS = number.split()
        if SS[0] == '1' and SS[1] == '0':
            print('Матч  не подходит фаворит взял 1 раунд')
            browser.quit()
        elif SS[0] >= '1' and SS[1] >= '1':
            print('Матч уже идёт достаточное время')
            browser.quit()
        else:
            while SS[0] != '1' and Allmassif[0] == "КОЖАНОЕ":
                time.sleep(30)
                browser.refresh()
                number = browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div/div/div[2]/div/div/div/div[1]/div[1]/div/div[2]/div/div/div[2]/div/div/div[2]').text
                S1 = number.split()
                if S1[0] == '1':
                    print('Ставка зашла')
                    browser.quit()
                else:
                    print('Ещё не взял')
                all = browser.find_element_by_class_name('u-fg').text
                S2 = all.split()
                if S2[0] == 'КОЖАНОЕ':
                    continue
                else:
                    print('ДРУГОй МАТЧ')
                    browser.quit()
            else:
                print('Уже другой матч')
    else:
        print('Не подошёл')
    browser.quit()
    s.enter(60, 1, f)

f()
s.run()


spoiler
5ecd9a912acc4989397632.png
5ecd9aa570a43458899491.png
  • Вопрос задан
  • 150 просмотров
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Помоему вы нарвались на так называемый throttling. Инными словами, система/сайт вас блочит.
+ скорее всего, сайт/система понимает откуда вы лезете и не любит селениум

ЗЫ: `import requests` можно делать в самом начале
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы