Асинхронное сокращение URL в Python - PullRequest
2 голосов
/ 26 февраля 2020

В настоящее время я пытаюсь внедрить в свою программу функцию, которая будет обнаруживать и сокращать любые сокращения URL, включая bit.ly и старые ссылки goo.gl (теперь больше не существует). Я нашел несколько статей, и я собираюсь обсудить мои текущие эксперименты, результаты и задать вопрос: «Есть ли вообще способ сделать это?»

Я начал с чтения ранее найденных статьи. Я обнаружил переполнение стека вопрос о том, как сократить URL-адреса с помощью Python. Ответ указал на библиотеку requests, используя requests.head, установив allow_redirects в True. requests вообще не работает с asyn c .io. Именно здесь я нашел вопрос, основанный на асин c запросах с Python запросами (найдено здесь )

Этот вопрос указывает на grequests, что является асин c версия запросов, однако, когда я попробовал код из первого вопроса, заменив requests на grequests, он не показывал местоположение ссылки после перенаправления. Затем я изменил .head на .get, и хотя он действительно работал, он по-прежнему предоставлял URL bit.ly, который я использовал, а не укороченный URL.

Я не уверен, что смогу используйте для поиска местоположения URL после отмены, не делая его синхронным, а не asyn c. Если кто-то может помочь, это было бы очень полезно!

1 Ответ

1 голос
/ 22 марта 2020

Хорошей библиотекой, которую я бы порекомендовал использовать, является aiohttp , библиотека, которая допускает асинхронные веб-запросы.

...