Эффективный способ получения перенаправления URL с постоянных URL - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть набор данных, который частично содержит поле URL, указывающее местоположение ресурса. Некоторые URL-адреса являются постоянными (например, дескрипторы и DOI) и, следовательно, должны быть преобразованы в их исходный URL-адрес. Я в основном работаю с Python, и решение, которое пока работает, включает использование Requests HTTP library.

import requests
var_output_url = requests.get("http://hdl.handle.net/10179/619")
var_output_url.url

Хотя это решение работает, оно довольно медленное, так как мне приходится проходить по ~ 4000 файлам, каждый из которых содержит около 2000 URL-адресов. Есть ли более эффективный способ разрешения переадресации URL?

Я протестировал свое текущее решение на одной партии, и это заняло почти 5 минут; с такой скоростью мне потребуется несколько дней (13 дней) для обработки всех пакетов [...] Я знаю, что это не обязательно будет так долго, и я могу запустить их параллельно

1 Ответ

1 голос
/ 22 апреля 2019

Использование HEAD вместо GET должно дать вам только заголовки, а не тело ресурса, которым в вашем примере является html-страница. Если вам нужно только разрешить переадресацию URL-адресов, это приведет к сокращению времени передачи данных по сети. Используйте параметр allow_redirects=True, чтобы разрешить перенаправление.

var_output_url = requests.head("http://hdl.handle.net/10179/619", allow_redirects=True)
var_output_url.url
>>> 'https://mro.massey.ac.nz/handle/10179/619'
...