Ответы пользователя по тегу Python
  • Как парсить Ozon через Selenium и обойти их систему защиты?

    goctio
    @goctio
    Вопрос уже по всей видимо не актуален, но ответ все-таки оставлю. Если задача состоит именно в прокрутке страницы, чтобы подгружались следующие элементы - то необходимо перемещаться по карточкам блоков, а в этом нам поможет ActionChains

    Пример кода:

    from selenium.webdriver.common.action_chains import ActionChains
    
    next_page = driver.find_element(by=By.LINK_TEXT, value='Дальше')
    action = ActionChains(driver)
    action.move_to_element(next_page).perform()
    Ответ написан
    Комментировать
  • Как сделать, чтобы парсер правильно обновлял данные и отправлял пользователю?

    goctio
    @goctio
    Дали мало данных для ответа, хоть бы пример кода оставили...

    Насколько я понял, ваш бот работает в однопоточном режиме, и если запускаете цикл - он перестает выполнять остальные функции.

    В этом случае поможет либо асинхронность, либо создание отдельного потока. В первом случае это создание бота на aiogram (не знаю для телеграма пишите или нет), во втором случае библиотеки Thread или Asyncio.
    Ответ написан
    5 комментариев
  • Как распаралелить одно окно браузера на несколько процессов?

    goctio
    @goctio
    Добрый день. Для чего нужно открывать новые браузеры? Если работа идет на одном сайте, при этом надо чтоб не терялись куки - нужно открывать новые вкладки, а не браузеры.

    Делается это так:
    driver.execute_script("window.open('https://www.google.com');")


    Список активных вкладок можно вывести так:
    print(driver.window_handles)

    Т.к это реально список, то по нему можно перемещать браузер, то есть переходить по активным вкладкам. Делается это так:
    driver.switch_to.window(driver.window_handles[0])

    Где 0 - это самая первая вкладка, а 1 - новая, которую вы открыли.

    Механика думаю понятна. Надеюсь поможет.
    Ответ написан
  • Проверка остатка числа?

    goctio
    @goctio
    Добрый день. Нужно использовать "%" для нахождения остатка.

    number = 13
    
    result = number % 5
    
    if result != 0:
    	print('Имеется остаток.')
    else:
    	print('Остатка нет.')

    В данном случае будет выводить что остаток есть, т.к при делении 13 на 5 - остаток равен 3.
    Ответ написан
    Комментировать
  • Редактирование текста. Как из массива ссылок вырезать нужные фрагменты?

    goctio
    @goctio
    Python:

    C помощью .split разделяем строку, и получаем необходимый номер.

    array = ['https://www.facebook.com/profile.php?id=100003312311771', 'https://www.facebook.com/profile.php?id=100036605837335']
    
    for x in array:
    	res = x.split('php?id=')[1]
    	print(res)
    	with open('some.txt', 'a') as save:
    		save.write(res + '\n')
    Ответ написан
    Комментировать