如果我有一个链接说http://yahoo.com/那么我可以获得雅虎内部的链接吗?例如,我有一个网站http://umair.com/,我知道只有5页主页,关于,投资组合,常见问题解答,联系方式,所以我可以通过编程方式获得如下链接吗?
http://umair.com/index.html
http://umair.com/about.html
http://umair.com/portfolio.html
http://umair.com/faq.html
http://umair.com/contact.html
答案 0 :(得分:1)
通过“雅虎内部的链接”定义你的意思。
您的意思是“http://www.yahoo.com”返回的页面上有链接的所有页面?如果是这样,您可以读取HTTP GET请求返回的HTML,并通过它解析查找<a>
元素。您可以使用"HTML Agility Pack"获取帮助。
如果您的意思是“该域上服务器上的所有页面”,可能不是。大多数网站都定义了一个默认页面,当您没有明确请求时,您会获得该页面。 (例如,请求http://umair.com几乎肯定会返回http://umair.com/index.html)。 很少很少有网站没有定义默认值,他们会返回一个文件列表。
如果您的意思是“即使他们定义了默认页面,该域上服务器上的所有页面”,也无法完成。这将是一种极端的安全漏洞。
答案 1 :(得分:0)
这可以通过Web Crawler完成,阅读一些有关它的基本信息:
http://en.wikipedia.org/wiki/Web_crawler
包含开源抓取工具,看看它们中是否有您正在寻找的东西。