我一直在使用站点地图工具来获取特定 URL 下的链接的简单计数。免费试用期已结束,因此我认为与其为非常简单的功能支付 70 美元,不如直接使用 wget。
以下是我目前所掌握的信息:wget --spider --recursive http://url.com/
但是,我不确定如何以某种方式计算由此找到的链接数。我也有点担心这是否符合我的要求 - 这是否只会获取域名以下的链接url.com
?
关于如何实现这一点有什么想法吗?
谢谢。
答案1
sudo apt-get install lynx-cur
lynx --dump http://serverfault.com -listonly |head
1. http://serverfault.com/opensearch.xml
2. http://serverfault.com/feeds
3. http://stackexchange.com/
4. http://serverfault.com/users/login
5. http://careers.serverfault.com/
6. http://blog.serverfault.com/
7. http://meta.serverfault.com/
8. http://serverfault.com/about
9. http://serverfault.com/faq
10. http://serverfault.com/
等等。
编辑:对于懒惰的 OP。
tom@altoid ~ $ lynx -dump -nonumbers -listonly http://serverfault.com|egrep -v "^$"|egrep -v "(Visible|Hidden) links"| while read link; do echo -n "$link :" ;curl -I -s $link |grep HTTP; done
Visible links :HTTP/1.1 200 OK
HTTP/1.1 200 OK
http://serverfault.com/opensearch.xml :HTTP/1.1 200 OK
http://serverfault.com/feeds :HTTP/1.1 200 OK
http://stackexchange.com/ :HTTP/1.1 200 OK
http://serverfault.com/users/login :HTTP/1.1 200 OK
http://careers.serverfault.com/ :HTTP/1.1 302 Found
http://blog.serverfault.com/ :HTTP/1.1 200 OK
更好的?!