1

У меня в .csv файле будет 1000 с псевдонимами / сокращенными ссылками (например, bit.ly и т.д.). Мне нужно выяснить, куда они перенаправляются. Есть ли простая программа, которая может выполнить эту задачу?

3 ответа3

2

Если вы можете найти способ сохранить файл в виде простого текста с одним 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://superuser.com/ [following]

Этот сценарий далек от совершенства и может вызывать гнев различных серых бород Unix, но по крайней мере он работает для bit.ly. Дайте мне знать, если у вас есть вопросы, связанные с * nix.

2

Вы не указали свою ОС.

Но в 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

Обратите внимание, что сайты, которые не перенаправляют, не будут иметь результата после старого.

1

http://linkpeelr.appspot.com/ делает это на экране, но есть API, который вы можете использовать на http://longurl.org/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .