Контакты
Местоположение
Россия, Москва и Московская обл., Москва

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (8)

Лучшие ответы пользователя

Все ответы (20)
  • Как сделать автоматический запуск кода?

    @DenisShahbazyan
    Не подойдет обернуть свой код в бесконечный цикл?

    while True:
        # Код / функция, которая будет всегда крутиться.


    Можно через cmd, где my.py - название вашего скрипта. CMD открывать в той же папке, где находиться python файл
    for /l %q in (0) do python my.py
    Ответ написан
    1 комментарий
  • Удаление из словаря по значению как сделать?

    @DenisShahbazyan
    Не понял вопроса, может так?
    dict_ = {"name": [["андрей", "2872"], ["михаил", "2872"]]}
    
    del dict_['name'][-1]
    print(dict_)

    Вывод
    {'name': [['андрей', '2872']]}
    Ответ написан
    1 комментарий
  • Парсер не начинает скролить сайт,что делать?

    @DenisShahbazyan
    Ниже исправленный код. Те методы, которые вы используете (для поиска элементов), вероятней всего устарели. Еще в методе .perform() была опечатка.

    def get_source_html(url):
        chrome_options = Options()
        driver = Service(executable_path="C:\\webdrivers\\chromedriver.exe")
        driver = webdriver.Chrome(options=chrome_options)
    
        driver.maximize_window()
    
        try:
            driver.get(url=url)
            time.sleep(3)
    
            while True:
                find_more_element = driver.find_element(
                    By.CLASS_NAME, "catalog-button-showMore")
    
                if driver.find_elements(By.CLASS_NAME, "hasmore-text"):
                    with open("lesson6/source-page.html", "w") as file:
                        file.write(driver.page_source)
                    break
                else:
                    actions = ActionChains(driver)
                    actions.move_to_element(find_more_element).perform()
                    time.sleep(3)
        except Exception as ex:
            print(ex)
        finally:
            driver.close()
            driver.quit()
    Ответ написан
    1 комментарий
  • Как парсить авито?

    @DenisShahbazyan
    С помощью Selenium

    Через pip устанавливаешь selenium и webdriver_manager
    Задержку с помощью sleep() не рекомендую делать, лучше дожидаться загрузки элемента.
    С веб-драйверами не парься, в блоке try все сделается автоматически, в этом поможет библа webdriver_manager.

    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    
    
    URL = 'https://www.avito.ru/moskva/bytovaya_elektronika'
    PAUSE_DURATION_SECONDS = 5
    
    
    def main():
        driver.get(URL)
        sleep(PAUSE_DURATION_SECONDS)
    
    
    if __name__ == '__main__':
        try:
            service = Service(executable_path=ChromeDriverManager().install())
            driver = webdriver.Chrome(service=service)
            main()
        except Exception as e:
            print(e)
        finally:
            driver.quit()


    ---

    С помощью requests предполагаю, что всего на всего нужно правильные заголовки передать, и все будет работать, будет время, попробую и отпишусь.
    Ответ написан
    Комментировать
  • Почему бот все равно отправляет сообщение?

    @DenisShahbazyan
    Думаю дело в условии
    if c == 5 or c == 6:
    
    # Можно так
    if c in [5, 6]:
    Ответ написан
    Комментировать