Я использую переменные из списка "имена", чтобы запрашивать значения с веб-сайта:
names = ['A', 'B', 'C', 'D', 'E']
На самом деле у меня гораздо больше значений в именах, чем это.
Планбыло перебрать следующий адрес и заполнить мои переменные следующим образом:
def get_values(name):
res = requests.get('www.example.com/tb/' + name)
for name in names:
get_values(name)
Проблема в том, что часть адреса изменяется для разных значений на три разных значения (tb, az и dm) (они всегда одинаковы для разных имен):
- www.example.com / tb / A
- www.example.com / tb / B
- www.example.com/az/C
- www.example.com / dm / D
- www.example.com / dm / E
Для этогопричина в моем коде выше, загружаются только значения для A и B.(И присвоить переменные именам невозможно, или наоборот.)
Поэтому я планировал получить правильный URL, чтобы решить эту проблему с помощью if / else:
try:
r = requests.get('www.example.com/tb/' + stock)
if r.status_code == 200:
url = 'www.example.com/tb/' + stock
else:
r = requests.get('www.example.com/az/' + stock)
if r.status_code == 200:
url = 'www.example.com/az/' + stock
else:
url = 'www.example.com/dm/' + stock
except:
pass
correctUrl = requests.get(url)
Это дает только значения для одной переменной (например, tz).Я также пытался найти решение с помощью try и исключения, а также с некоторыми вариантами попытки / кроме и если / еще, но это не работает.
Было бы неплохо, если бы кто-то мог дать мне совет, как я могу проверить правильный адрес для каждого имени в моем списке.Или какой самый питонный способ сделать это.К сожалению, я не смог найти подход на стеке потока или Google.