#python #python-3.x
#python #python-3.x
Вопрос:
Я пытаюсь получить доступ к ответу из http-запроса, используя библиотеку запросов Python. Ответ приходит в текстовом формате, json недоступен
import requests
resp = requests.get('http://url.com')
print(resp.text)
=> login=http://new_url.com?anylock=9f8s9g0asdamp;calls=vlsdu2
Мне нужно значение после login=
так что это был бы хороший подход к использованию resp.split('login=')[1]
Комментарии:
1. Это кажется разумным, если вы ожидаете, что
login=
будет присутствовать только один раз и непосредственно перед желаемой строкой.2. Да, всегда будет только login = value. Другая идея, которую я считал более чистой, print(list(filter(None, x.split(‘login_url=’)))) но это выполнение некоторых дополнительных шагов. Лучше ли выполнять меньшее количество операций, чтобы получить конечное значение, или все должно быть в порядке независимо?
3. На мой взгляд, вам следует предпочесть более читаемый код и не пытаться оптимизировать преждевременно. Мне легче понять, что
resp.split('login=')[1]
делает, чемlist(filter(None, x.split('login_url=')))
.4. понял. я думаю, что этот метод тоже работает: new = dict(x.split(‘=’, 1) для x в соотв.split()) предполагая, что первый = разделяет login_url