• Где у меня ошибка в sqlite3?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Вы используете зарезервированное в sql слово order, для названия столбца. Если другого варианта нет, то можно обернуть его кавычками. Да и f строки не рекомендуется использовать при работе с sql (Почему не стоит использовать f строки в SQL Python запросах? и Как сделать безопасно строку с sql запросом и различными параметрами?).

    Попробуйте так:
    async def add_order(self, order, name, tg, number, amount, promo, date):
        with self.connection:
            return self.cursor.execute('INSERT INTO orders ("order", name, tg, number, amount, promo, date) VALUES (?, ?, ?, ?, ?, ?, ?)', (order, name, tg, number, amount, promo, date))
    Ответ написан
    Комментировать
  • Составить карту для парсинга и автоматизации ставок?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Планирую сделать парсер букмекерской конторы

    подскажите какие темы нужно поучить

    Selenium
    selenium-stealth (это букмекеры, Вы у них не первый, а значит броня прокачена).
    есть начальные знания питона, остановился на списках, кортежах и тп

    Это не начальные знания, начальные знания - это весь python (от корки до корки), с малым количеством написанного кода.
    Ответ написан
    3 комментария
  • При параллельном тестировании не происходит запись в файл, что делать?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как вывести ссылку в echo через acf?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    $link_bc = get_field('link-bc');
    $bc = get_field('bc');
    
    echo '<a href="' . esc_url($link_bc) . '"><span class="breadcrumbs__current">' . esc_html($bc) . '</span></a>';
    Ответ написан
    Комментировать
  • С помощью чего можно реализовать такую анимацию?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    В примере используется GSAP + обычный видос.
    Ответ написан
  • Как запустить скрипт на Python по расписанию с csv?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    - Cron (linux и macos).
    - Task Scheduler (windows).
    - Schedule python library (открыть csv, циклом пройтись по строкам, получить значение из ячейки со временем и запустить schedule).

    Первые 2 решения в приоритете.
    Ответ написан
  • Как использовать Instagram API в России?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    всякого рода VPN - банит.

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

    3$, вполне бесплатно.
    Ответ написан
    Комментировать
  • Как работают SSR компоненты?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понимаю работу Next.js: компоненты без состояния рендерятся на сервере и могут индексироваться поисковыми роботами

    Верно, индексация стандартная.
    А с состоянием - на стороне клиента, и роботы их не видят.

    Не совсем. Поисковики индексируют динамику, но ограниченно, и она проиграет классической статике или ssr. То, что Вы видите динамику в топе - это не заслуга динамики, а недоработка конкурентов со статикой.
    Однако в компоненте самой страницы ArticlePage у меня в любом случае будет использование useState. Значит ли это, что вся страница будет отрисовываться на клиенте?

    Не совсем. Часть страницы будет отрисована на сервере, а часть на клиенте.
    И что поисковые роботы обойдут контент страницы стороной?

    Нет, контент в любом случае будет ранжироваться, но не лучше классической статики при прочих равных.
    P.S. Вопрос, возможно, глупый, но я правда не понимаю...

    К нексту у многих имеются вопросы, поэтому Вы не первый и уж тем более, не последний :)
    Ответ написан
    Комментировать
  • Как сделать, адаптивную колонку с изображением?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1) Если говорить об изображении, как обычно пишут верстку, если контент динамический, картинки в такие блоки вставляются любых размеров? или говорите администратору, что допустим перед вставкой изображения, приведи его к такой то высоте и ширине?

    CSS background-size или object-fit и заранее подготовленное изображение с нужными пропорциями.
    2) если блоки начинают адаптивно перескакивать, допустим flex: wrap или медиа запрос, как сделать так, чтобы это было плавно, я видел как такие вещи как-будто анимированы, как их в общем делают, это библиотеки?

    CSS transition + keyframes.
    Ответ написан
  • Деплой next.js приложения на regru?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Для SSR:
    1. Собрать docker image со своим приложением.
    2. По ssh залить п1 на сервер.
    3. По ssh установить docker и выполнить установку п2.
    4. По ssh установить и настроить nginx.
    5. По ssh настроить iptables (или аналог).
    6. (опционально) По ssh настроить автозапуск контейнера с приложением и nginx, при падение сервера.

    Для слабого vds (1 ядро, <2gb ram) использую Arch (без gui), для всех остальных - Ubuntu.

    Если у Вас SSG, то отдельный сервер не нужен, т.к. Вы можете на обычный shared хостинг залить эту статику, как обычный html сайт.
    Ответ написан
    Комментировать
  • Как сделать расположение списка элементов ёлочкой?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Пример сетки, оформлять не стал:
    Ответ написан
    1 комментарий
  • Можно ли автоматически урезать качество изображений в React?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я буду помещать большое изображение в маленькие карточки, картинка будет искажаться, а мне этого не нужно.

    CSS object-fit.
    либо же это должно происходить на сервере?

    На сервере, сразу получать изображение необходимого размера.
    Ответ написан
    Комментировать
  • Как изменить только главную страницу WordPress?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Подключение отдельного css файла для главной страницы, functions.php:
    function test() {
        if (is_home() || is_front_page()) {
            wp_enqueue_style('home-style', get_stylesheet_directory_uri() . '/path/to/style-from-home.css');
        }
    }
    
    add_action('wp_enqueue_scripts', 'test');
    Ответ написан
    2 комментария
  • Вредит ли http-код 499 (разрыв соединения по инициативе клиента) поисковой оптимизации?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Нет, 499 код не является стандартным кодом http (а является специфическим для nginx) и не влияет на seo.
    Ответ написан
    Комментировать
  • Как отрисовать страницу для парсинга?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как срендерить весь javascript для парсинга?

    Использовать selenium.
    Selenium WebDriver Chrome слишком долго прогружает, ещё и палиться как Вебдрайвер.

    Обновите железо, используйте selenium stealth.
    Ответ написан
    Комментировать
  • Как подключить css файл во flask?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как создать hover поверх элемента?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Нужно, чтобы при наведение на любую из кнопку верхний и нижний бордер меняли цвет.

    Ответ написан
    2 комментария
  • Как запустить сразу несколько процессов с разными прокси?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Несколько вариантов:

    - How-To: 4 Essential Parts of Multiprocessing in Python (не подходит для синхронизации доступа к файлу, который используется часто, так как может привести к снижению производительности):
    from multiprocessing import Lock, Pool
    
    lock = Lock()
    
    with lock:
        driver = uc.Chrome(seleniumwire_options=wire_options, options=options)

    - Multiprocessing Manager Example in Python (подходит только для синхронизации доступа к простым объектам, таким как списки):
    from multiprocessing import Manager, Pool
    
    manager = Manager()
    
    def get_whoer(proxy: str):
        # ...
    
    if __name__ == '__main__':
        """ip:port:login:password"""
        with Pool(processes=2) as p:
            p.map(get_whoer, proxy_list)

    - How Python Keeps Your Queues Thread-Safe (подходит для синхронизации доступа к любым объектам, но код немного сложнее):
    from queue import Queue
    from multiprocessing import Pool
    
    queue = Queue()
    
    def get_whoer(proxy: str):
        # ...
    
    if __name__ == '__main__':
        """ip:port:login:password"""
        proxy_list = list(map(str.rstrip, open('proxy.txt').readlines()))
        for proxy in proxy_list:
            queue.put(proxy)
        with Pool(processes=2) as p:
            p.map(get_whoer, range(len(proxy_list)))
    Ответ написан
    Комментировать
  • Как создать небольшой Интернет Магазин без Woocommerce?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    преподаватель сказал, что нам нельзя использовать Woocommerce, Elementor для создания магазина.

    1. Создать 3 новых типа записей "Товар", "Категория товара" и "Корзина", с необходимыми полями.
    2. Написать php код, который будет добавлять товар в корзину, если кликнули на соответствующую кнопку.
    3. Наполнить тестовыми товарами и протестировать работу своего велосипеда.
    Подскажите, пожалуйста, как можно создать более менее рабочий магазин?

    и прочие функции типичного Интернет магазина.

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

    Пример работы через сессии:
    if (!session_id()) {
        session_start();
    }
    
    function test_session() {
        if (!session_id()) {
            session_start();
        }
    }
    
    add_action('init', 'test_session', 1);

    Функция добавление товара в корзину:
    function add_to_cart($id, $q = 1) {
        if (isset($_SESSION['cart'][$id])) {
            $_SESSION['cart'][$id] += $q;
        } else {
            $_SESSION['cart'][$id] = $q;
        }
    }

    Функция получения товаров из корзины:
    function show_cart() {
        if (!empty($_SESSION['cart'])) {
            foreach($_SESSION['cart'] as $id => $q) {
                $product = get_post($id);
                echo "<div>{$product->post_title} (x$q)</div>";
            }
        } else {
            echo "Cart has empty";
        }
    }
    Ответ написан
    Комментировать