У меня есть два URL-адреса:
absolute_url = 'https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports'
relative_url = 'en/relacje-inwestorskie/reports/current-reports/2018/242018/'
И я хотел бы присоединиться к ним, чтобы создать это:
https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports/2018/242018/
Однако urljoin неправильно объединяет URL-адреса:
from urllib.parse import urljoin
urljoin(absolute_url, relative_url)
>> https://ciechgroup.com/en/relacje-inwestorskie/reports/en/relacje-inwestorskie/reports/current-reports/2018/242018/
Вы знаете, как я могу добиться этого, не дублируя часть URL-адреса?
🤔 А знаете ли вы, что...
Python используется в научных вычислениях и обработке изображений с использованием библиотеки OpenCV.
Добавьте /
в свой relative_url
from urllib.parse import urljoin
absolute_url = 'https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports'
relative_url = '/en/relacje-inwestorskie/reports/current-reports/2018/242018/'
>>> urljoin(absolute_url, relative_url)
'https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports/2018/242018/'
urljoin
делает то, что должен делать. Он принимает «текущий путь» вашего абсолютного URL-адреса (/en/relacje-inwestorskie/reports/
) в качестве основы, по которой ваш относительный URL-адрес будет «относительно». Результат действительно /en/relacje-inwestorskie/reports/en/relacje-inwestorskie/reports/current-reports/2018/242018/
.
Исходя из ожидаемого результата, кажется, что ваш relative_url
на самом деле является абсолютным путем, поэтому вам нужно добавить к нему /
.
>>> absolute_url = 'https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports'
>>> relative_url = '/en/relacje-inwestorskie/reports/current-reports/2018/242018/'
>>> from urllib.parse import urljoin
>>> urljoin(absolute_url, relative_url)
'https://ciechgroup.com/en/relacje-inwestorskie/reports/current-reports/2018/242018/'