Заменить значения в URL-адресе на Python - PullRequest
0 голосов
/ 07 января 2020

У меня есть URL, и я хочу заменить некоторое содержимое (в середине) его значениями, присутствующими в словаре, и сохранить его на моем локальном компьютере с именем файла в качестве имени ключа в словаре. Я начал кодировать, но не знаю, как продолжить.

URL = 'http://api.trkd.thomsonreuters.com/api/streetevents/documents/61145274-DB5A-454D-9A31-E6D24E77A7B1/Transcript/Pdf.ashx'

Словарь n имеет следующий ключ, значения:

Nio Inc Earnings Call 8874A5B3-06BC-4863-9890-9F6775E1A219
China Finance Online Co Ltd Earnings Call D166208D-CE51-46BF-819A-DB34CBF85A97

Код для сохранения PDF в моем локальном

import requests

URL = 'http://api.trkd.thomsonreuters.com/api/streetevents/documents/61145274-DB5A-454D-9A31-E6D24E77A7B1/Transcript/Pdf.ashx'
r = requests.get(URL, stream=True, proxies=proxyDict)
with open('metadata.pdf', 'wb') as f:
 f.write(r.content)

Я хочу перебрать словарь 'n', извлечь из него часть значения и заменить ее в URL.

Например, URL = 'http://api.trkd.thomsonreuters.com/api/streetevents/documents/61145274-DB5A-454D-9A31-E6D24E77A7B1/Transcript/Pdf.ashx 'должен измениться на

URL =' http://api.trkd.thomsonreuters.com/api/streetevents/documents/8874A5B3-06BC-4863-9890-9F6775E1A219/Transcript/Pdf.ashx '

и загрузить PDF-файл с именем "Nio In c Earnings Call.pdf", а затем снова замените URL следующим значением в словаре и загрузите его с именем ключа.

1 Ответ

1 голос
/ 07 января 2020

Использование простой итерации с str.format

Пример:

import requests

URL = 'http://api.trkd.thomsonreuters.com/api/streetevents/documents/{}/Transcript/Pdf.ashx'
for k,v in n.items():
    r = requests.get(URL.format(v), stream=True, proxies=proxyDict)   #set value in URL
    with open('{}.pdf'.format(k), 'wb') as f:    #Set key as PDF name
        f.write(r.content)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...