ACTIVE_LIST = {
'DPM1': 1,
'DPM2': 2,
'DPM3': 3,
}
def func1():
print(ACTIVE_LIST['DPM1'])
def func2():
global ACTIVE_LIST
ACTIVE_LIST['DPM1'] = 3
print(ACTIVE_LIST['DPM1'])
func1()
``` 1
func2()
``` 3
func1()
``` 3
import sys
import requests
from requests.auth import HTTPBasicAuth
REQUEST_HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/91.0.4472.77 Safari/537.36',
}
# Пример авторизации по HTACCESS логину и паролю
HT_LOGIN = ''
HT_PASSWORD = ''
url = f'https://....'
# Работать лучше через сессии
s = requests.session()
try:
# GET запрос
result = s.get(
url,
auth=HTTPBasicAuth(HT_LOGIN, HT_PASSWORD),
timeout=60,
headers=REQUEST_HEADERS,
verify=True
)
result.raise_for_status()
html = result.text
except requests.exceptions.RequestException as e:
print(f'Не получилось подключиться к сайту: {url}\n{e}')
sys.exit(-1)
# Далее пример если кроме HTACCESS имеется ещё и
# форма авторизации, например, с полями 'login' и 'password'
LOGIN = ''
PASSWORD = ''
try:
# Для передачи данных формы требуется POST запрос
result = s.post(
url,
auth=HTTPBasicAuth(HT_LOGIN, HT_PASSWORD),
data=[('login', LOGIN), ('password', PASSWORD)],
timeout=60,
headers=REQUEST_HEADERS,
verify=True
)
result.raise_for_status()
html = result.text
except requests.exceptions.RequestException as e:
print(f'Не получилось подключиться к сайту: {url}\n{e}')
sys.exit(-1)
Чтобы не запускать браузеры в режиме GUI их обычно запускают с дополнительными параметрами, типа headless.
Ниже примеры
Если FireFox
pip install selenium
Драйвера: https://github.com/mozilla/geckodriver/releases
Если Chrome (надо сперва узнать какой версии)
pip install selenium
Драйвера: https://sites.google.com/a/chromium.org/chromedriv...
Драйвера можно ставить руками или сразу из скрипта, например, при помощи этого пакета (это справедливо и для FireFox):
pip install webdriver-manager
И есть ещё и другие пути (типа Selenium Server или PhantomJS), но они устарели и не рекомендуются для использования разработчиками Selenium.
И да, под Chrome обойти защиту не удалось (разбираться не стал).
"Из коробки" работает только под FireFox.
P.S. Общаться в социальных сетях желания нет.