import re
text = "ab b b b"
var = "b"
text1 = f"[^a-z]{var}"
print(re.sub(text1, "", text)) # ab
text2 = "[^a-z]{}".format(var)
print(re.sub(text2, "", text)) # ab
text3 = "[^a-z]" + var
print(re.sub(text3, "", text)) # ab
text4 = "[^a-z]%s" % var
print(re.sub(text4, "", text)) # ab
t
строки (python>=3.14):text5 = t"[^a-z]{var}"
print(re.sub(text5, "", text)) # ab
Использую официальный ChromeDriver (версия соответствует браузеру).
Скрипт имитирует человеческое поведение:
Добавлены задержки между действиями.
VPN и прокси не используются.
Какие технические требования Ozon к автоматизированным запросам?
Возможно ли получить API-доступ для таких задач?
Как легально реализовать сбор данных для личного использования?
Первый, что лучше на сегодняшний день, веб или desktop.
И второй вопрос, про то, что выбрать для пользовательского интерфейса: flet, HTML/CSS/JS, QT.
Собираюсь разработать пет-проект
будет намного производительней
ERRORS_FILE = 'error.json'
IMAGES = 'error_images'
error_data = {}
with open(ERRORS_FILE, 'r', encoding='utf-8') as f:
error_data = json.load(f)
# Код бота:
error_code = call.data
error_description = error_data.get(error_code)
# bot.send_message(call.message.chat.id, "Ошибка 501")
bot.send_message(call.message.chat.id, f"Ошибка {error_code}: {error_description}")
# photo = open('501.jpg', 'rb')
image_path = os.path.join(IMAGES, f"{error_code}.jpg")
with open(image_path, 'rb') as photo:
bot.send_photo(call.message.chat.id, photo, caption=error_code)
Как сделать, чтобы при парсинге bs4 как то надо нажать на кнопку
так как я учусь пасингу в bs4
А я не хочу постоянно закидывать код на сервер что бы протестировать работает он или нет.
Как совместить локальную разработку и прием данных с внешнего сервиса?
ngrok http http://localhost:8080
.https://9abc0-11-22-333-44.ngrok-free.app
.https://9abc0-11-22-333-44.ngrok-free.app
, с роутами из вашего приложения - это будет выглядеть примерно так: https://9abc0-11-22-333-44.ngrok-free.app/api/route-name
.как проверять кодом есть ли нужная библиотека на пайтоне?
import importlib.util
print(importlib.util.find_spec('kek') is not None) # False
Обратил внимание, что последние пару лет все чаще слышу про fastapi, насколько он уже созрел на рынке? "Слышать" это одно (субъективщина, хайп и все такие), может есть какие-то метрики, как определять востребованность конкретной технологии относительно другой, например django и fastapi
mss.mss()
- обязательно ли каждую итерацию захватывать экран заново?time.sleep(0.05) # Проверяем цвет каждые 100 мс
- что то не клеится в Ваших показаниях, на основание чего указано 50мс?Tenacity is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything. It originates from a fork of retrying which is sadly no longer maintained.
import requests
from tenacity import retry, stop_after_attempt, wait_fixed
@retry(stop=stop_after_attempt(3), wait=wait_fixed(3))
def fetch():
res = requests.get("https://site.ru")
# res = requests.get("https://site.ru", params={"key": "value"})
if res.status_code != 200:
raise requests.exceptions.HTTPError(res.status_code)
data = res.json()
return data
# return data["link"]
print(fetch())
wait=wait_fixed(3)
- ждать 2 секунды между попытками.stop=stop_after_attempt(3)
- остановка после 3х попыток.
Выдаёт ошибку:
Traceback (most recent call last):
line 46, in
for m in n.values():
AttributeError: 'int' object has no attribute 'values'
Подскажите как посчитать сумму элементов в данном словаре
def best_function(d):
sum = 0
for v in d.values():
if isinstance(v, dict):
sum += best_function(v)
else:
sum += v
return sum
print(best_function(dct)) # 3906
Вручную можно сделать через настройку "Разрешить сайтам показывать небезопасный контент" с указанием ссылки на web ui, но не понимаю как это можно реализовать в коде.
cursor.execute("SELECT dollars FROM users WHERE id=?", (message.from_user.id,))
res = cursor.fetchone()
if res:
debet = res[0]
await message.answer(f"Ваш айди: {message.chat.id}\nБаланс: {debet}")
else:
await message.answer("Не знаем таких.")
for item in response.json()['Employees']:
first_name = item["User"]["FullName"]["FirstName"]
last_name = item["User"]["FullName"]["LastName"]
if "MiddleName" in item["User"]["FullName"]:
middle_name = item["User"]["FullName"]["MiddleName"]
else:
middle_name = "отчество отсутствует"
print(f"Имя: {first_name}, фамилия: {last_name}, отчество: {middle_name}")
# Имя: Иван, фамилия: Иванов, отчество: Иванович
# Имя: Петр, фамилия: Петров, отчество: отчество отсутствует