Часть формируются из-за незначащих GET-параметров, и на сайте вообще никакая страница кроме поисковой не зависит от GET-параметров, поэтому хотелось бы им всем поставить disallow, но встретил не мало аргументов против такого решения.
Стандартными методами css это не сделать. Может через less? Но как?
.fn(@aspect-class) {
@matches: ~`@{aspect-class}.match(/\d+/g)`;
@a: e(%(`@{matches}[0]`));
@b: e(%(`@{matches}[1]`));
// остальная логика
}
.fn(aspect-43-34);
скажите как бороться с этим? Как удалить эти ссылки?
Я ещё не пробовала react. Некоторые говорят на нём писать, некоторые на чистом js.
Что нужно изучить чтобы написать онлайн-доску?
Немного могу на python и php
Но появилась идея запрашивать не все посты, а в зависимости от нужной категории. Все существующие ~ 2000 постов разделить на категории. Будет ли такая реализация работать быстрее?
Либо есть какие-то другие идеи?
$cache = get_transient('all_posts_cache');
if (!$cache) {
$posts = get_posts([
'numberposts' => -1,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'post-item',
// Искать по слагу категории
'category_name' => 'category_name',
// Или искать по id категории
// 'cat' => 123,
]);
// Кэширование на 1 час
set_transient('all_posts_cache', $posts, HOUR_IN_SECONDS);
}
else {
$posts = $cache;
}
Развернуть backend и frontend в одной сети и не открывать порты бека во внешнюю сеть, чтобы открыты были только порты фронтенда.
Вопрос, такой расклад событий может помочь ограничить доступ к эндпоинтам?
# EC.presence_of_element_located((By.CSS_SELECTOR, "product-slider__img js-product-current-img"))
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
options = Options()
service = Service(r'D:\project\chromedriver-130.0.6723.93.exe')
driver = webdriver.Chrome(service=service, options=options)
url = 'https://superstep.ru/product/NCFSW0W288YW_GRA/#colorGRA'
driver.get(url)
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
)
page_html = driver.page_source
print(page_html)
except TimeoutException:
print("Элемент не найден")
finally:
print('Программа завершена')
driver.quit()
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
options = Options()
service = Service(r'D:\project\geckodriver.exe')
driver = webdriver.Firefox(service=service, options=options)
url = 'https://superstep.ru/product/NCFSW0W288YW_GRA/#colorGRA'
driver.get(url)
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".product-slider__img.js-product-current-img"))
)
page_html = driver.page_source
print(page_html)
except TimeoutException:
print("Элемент не найден")
finally:
print('Программа завершена')
driver.quit()
Этот метод можно вызвать с ключом доступа пользователя, полученным в Standalone-приложении через Implicit Flow.
Требуются права доступа: wall.
Implicit Flow для получения ключа доступа пользователя
С 25 июня 2024 года способ получения ключа доступа пользователя (access token) изменился.
Получить ключ теперь можно так:
•
C помощью библиотеки VK ID SDK.
Шаги получения ключа зависят от типа вашего приложения: Web, Android, iOS.
— или —
•
Без SDK, используя HTTP-запрос.
Шаги получения ключа зависят от типа вашего приложения: Web, Android, iOS.
Мы рекомендуем использовать SDK-библиотеку. Она включает готовый код для отрисовки формы ввода имени пользователя и пароля, а также даёт возможность использовать вход по One Tap.
При подключении без SDK форму ввода понадобится реализовать самостоятельно, а вход по One Tap будет недоступен. При создании формы необходимо соблюдать требования VK к дизайну кнопки.
После получения ключа доступа любым из способов вы сможете работать с API ВКонтакте.
Ключи доступа, созданные ранее, продолжают поддерживаться.
Возможно ли с помощью selenium создать такой скрипт, что:
document.querySelector("#butlog").addEventListener('click', (e) => {
e.preventDefault(); // <---
window.location.assign("https://vk.com/");
});