我该如何解析大量的重定向 URL?

我该如何解析大量的重定向 URL?

我有一个 .csv 文件,其中包含 1000 个别名/缩短链接(例如 bit.ly 等)。我需要找出它们重定向到哪里。有没有简单的程序可以完成这项任务?

答案1

您没有指定您的操作系统。

但是在 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

请注意,未重定向的网站将不会有旧结果之后的结果。

答案2

如果你能找到一种方法将文件保存为每行一个 url 的纯文本,你可以在 Linux/MacOS/*nix 机器上使用以下脚本或赛格威在 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

nano如果需要,使用 将上述文本复制到名为 resolve.sh 的文件中,使用 使其可执行chmod +x resolve.sh,将文件命名为 bit.ly URL 等为 url.txt,确保它与 resolve.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 相关的问题,请告诉我。

答案3

http://linkpeelr.appspot.com/屏幕上显示,但有一个 API 可用于http://longurl.org/

相关内容