Да, вы можете сделать это очень легко. Это показано на следующем примере.
Подготовка
Чтобы отправлять веб-запросы к инструменту геолокации с помощью Python, вам необходимо:
- Редактор или IDE (интегрированная среда разработки) для написания скрипта
- Python - python.org
- Запросы на библиотеку Python
- Библиотека Python Pandas (необязательно)
Для выполнения веб-запроса инструмента геолокации требуется информация для инструмента геолокации. Это будет объяснено на примере структуры URL-адреса запроса в следующей статье:
→
Веб-сервис Contolling (API)
В нашем примере используется следующая информация, которую необходимо заменить в скрипте на вашу:
- Язык: en (немецкий)
- Вход в систему: john [email protected]
- пунктирная линия: 123456ABCD
- Карта: ветер-DIN-EN-1991-1-4 (ветровая нагрузка по немецкому приложению EC1)
- Город: Dlubal, Тифенбах (штаб-квартира Dlubal GmbH)
- Позиция: 49.4353975, 12.5894907 (широта, долгота)
Выполнить запрос стенки и считывать данные
Следующий скрипт отправляет запрос к веб-сервису инструмента «Geo-Zone Tool» и документирует требуемое время и содержание.
...
#%% Импорт
# База данных для считывания меток времени (стандартная, опционально)
Импортировать дату-время как dt
# Выполнить базу данных через веб-запрос
Импорт запросов
#%% Параметры блока
# Инструмент геолокации веб-сервиса URL
urlgz = ' https://external-crm.dlubal.com/loadzones/data.aspx'
# Параметры для запроса (замените своими значениями)
парз = {
'язык': 'en',
'Вход': '[email protected]'
' решётка': '123456ABCD'
'Карта': 'veter-DIN-EN-1991-1-4',
'Место': 'Dlubal, Тифенбах, Германия',
'Позиция': '49,4353975,12,5894907'
}
# Установить время для отмены запроса
reto=10 #p
Выполнить #%% запроса
# Отметка времени перед поиском
cdt1 = dt.datetime.now ()
# Запрос веб-сайта с помощью запросов
rgz = request.get(urlgz, params=pargz, Timeout=reto)
# Отметка времени после получения
cdt2 = dt.datetime.now ()
# Продолжительность запроса в секундах
dur=(cdt2-cdt1).total_seconds()
# Код состояния HTTP запроса
sgz=rgz.status_code
# Описание запроса
hgz=rgz.headers['Content-Type']
# Содержание веб-запроса в виде текста
tgz = rgz.text
#%% Вывод веб-запроса на консоль
txt = []
txt.append (f "Временная метка: {cdt1}") #Время ГГГГ-ММ-ДД ЧЧ:ММ:SS.SSSSSS
txt.append (f"Длительность: {dur} s") #Длительность запроса
txt.append (f «Код состояния: {rgz.status_code}"), #Код состояния HTTP (обычный: 200)
txt.append (f "Заголовок: {hgz}"), #описание содержания (обычный: текст/html; charset=utf-8)
txt.append(f"Текстовые результаты запроса:\n{tgz}") #Результаты инструмента Geo-Zone
печать ('\n'.join (txt))
...
Это приводит, например, к следующим результатам:
- вывод.кода#
Отметка времени: 2024-08-22 13:24:32.727006
Длительность: 2,214527
Код состояния: 200
Заголовок: текст/html; charset = utf-8
Текст запроса:
Результат 1, Результат 2, Зона, Широта, Долгота, Высота над уровнем моря, Улица, Индекс, Город, Норма, Приложение, Примечания, Правовая информация
22.5 м/с,0.32 кН/м2,1,49.4353975,12.5894907,520.69384765625,Am Zellweg 2,93464,Tiefenbach,EN 1991-1-4,DIN EN 1991-1-4
#/code#
Дополнение: Подготовка содержания веб-запроса
Следующий скрипт преобразует текст, полученный из сетевого средства Инструмент геолокации, в табличную форму. Кроме того, значения результатов отделяются от соответствующих единиц измерения и сохраняются в виде файла CSV или Excel.
...
#%% Импорт
# Строковые функции стандартной базы данных для импорта и экспорта
из io импортировать Stringio
# База данных для обработки данных
Импорт панд как pd
#%% Функции
из rsep_eval_unit(indf, cnstart='Result',):
"''"
Отдельные столбцы данных Frame запроса Dlubal Geo-Zone Tool с результатами по значениям и единицам измерения.
параметры
----------
indf pandas.DataFrram
Входные данные.
Cnstart: строка, необязательно
Идентификатор в начале названия столбца, содержащего результаты
Возврат
-------
Вых: pandas.DataFrram
Выходные данные.
"''"
tmp2 = indf.loc (axis = 1) [indf.columns.str.startswith (cnstart)]
tmp3 = pd.DataFrime ()
для i в tmp2.columns:
tmp3{%>
Это приводит, например, к следующим результатам:
- вывод.кода#
Исходный frame данных:
- Результат 1, Результат 2, Зона, Широта, Долгота, Высота над уровнем моря, Улица, Индекс, Город Примечания к приложению к нормативу
0 22,5 м/с 0,32 кН/м2 1 49,435398 12,589491 520,693848 Am Zellweg 2 93464 Tiefenbach EN 1991-1-4 DIN EN 1991-1-4 NaN
Рамка управляемых данных:
- (Результат 1, значение) (Результат 1, единица измерения) (Результат 2, значение) (Результат 2, единица измерения) Зона Широта Долгота Высота Улица Почтовый индекс Город Норматив Приложение Примечания
0 22,5 м/с 0,32 кН/м2 1 49,435398 12,589491 520,693848 Am Zellweg 2 93464 Tiefenbach EN 1991-1-4 DIN EN 1991-1-4 NaN
Вывод примера:
- Первый результат имеет значение 22,5. (м/с)