我如何在网页中获取链接而不加载链接? (基本上我想要的是这样的,一个用户输入一个URL,我想加载该URL中的所有可用链接。)你能告诉我一种方法来实现这个在网站上获取链接
在网站上获取链接
回答
如果你想要一个页面的内容,你必须加载它。但是你可以做的是将其加载到内存中并解析它以获取所有<a>
标签及其内容。
如果您使用java(如您的标记所述)或者使用带有JavaScript的简单DOM工具,您将能够使用JDom或Sax等工具解析此XML。
资源:
关于同一主题:
- get all the href attributes of a web site(JavaScript的)
请记住,很多网站不会解析为'有效'的XML ...... – Paddy 2010-10-06 15:51:28
@ Paddy,您是对的,在这种情况下,最好的办法是手动查找' 2010-10-06 15:52:43
只要打开一个URLConnection,获取页面并解析它。
Here is example Java code,具体如下:
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;
public class Main {
public static void main(String args[]) throws Exception {
URL url = new URL(args[0]);
Reader reader = new InputStreamReader((InputStream) url.getContent());
System.out.println("<HTML><HEAD><TITLE>Links for " + args[0] + "</TITLE>");
System.out.println("<BASE HREF=\"" + args[0] + "\"></HEAD>");
System.out.println("<BODY>");
new ParserDelegator().parse(reader, new LinkPage(), false);
System.out.println("</BODY></HTML>");
}
}
class LinkPage extends HTMLEditorKit.ParserCallback {
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
if (t == HTML.Tag.A) {
System.out.println("<A HREF=\"" + a.getAttribute(HTML.Attribute.HREF) + "\">"
+ a.getAttribute(HTML.Attribute.HREF) + "</A><BR>");
}
}
}
@Netha,你可以发布整个堆栈跟踪, – 2010-10-07 18:25:24
public void extract_link(String site)
{
try {
List<String> links = extractLinks(site);
for (String link : links) {
System.out.println(link);
}
} catch (Exception e) {
System.out.println(e);
}
}
这是一个简单的函数来查看页面中的所有链接。 如果你想查看内部链接的链接,只需递归调用它(但要确保根据需要给出限制)。
- 1. 从网站获取链接
- 2. facebook链接从网站获取信息
- 3. 从网站获取超链接
- 4. 如何从网站获取链接
- 5. 如何获取网站链接统计?
- 6. 如何从网站链接获取网站徽标路径
- 7. 如何从网站获取所有网站链接?
- 8. 我如何从Python网站抓取网站上的pdf链接
- 9. 获取网站在iPhone上
- 10. 获取网站上的所有RSS链接
- 11. 获取链接我上传到DNN网站的文件
- 12. 我正在尝试从网站获取所有链接,并在所有链接上单击一个链接
- 13. 获取网页上的ajaxsearch链接
- 14. 仅在网站上建立DIV链接
- 15. 从网站链接名称(使用VBA)获取特定网址
- 16. 获取随机网站的链接在bash
- 17. 使用python获取avalibale在网站中的所有链接?
- 18. 直接获取下载链接和文件的网站从Mediafire.com
- 19. 从网站上的链接下载网站上的jar文件
- 20. 链接到网站在PHP
- 21. Button =网站链接在AutoIT
- 22. 子网站链接
- 23. Joomla网站链接
- 24. 从网站URL获得链接
- 25. 从网站中提取链接
- 26. 从网站链接中提取
- 27. 获得“最常访问的网站”链接/页网站
- 28. 检查外部网站上的链接?
- 29. 网站链接上的错误
- 30. Disqus评论ajax网站上的链接
你是什么意思没有加载它?你必须至少获取URL的内容并以某种方式处理它们 – 2010-10-06 15:47:39
@SB我认为他的意思是说,他不想让所有超链接的GET请求 – 2010-10-06 15:52:39
这就是它的工作原理。一个用户来到并输入一个URL,我得到该URL内的所有链接。然后我做一些处理并向用户显示一些结果。不加载意味着用户不应该看看他的URL是否被加载(它可以加载但不应该显示给用户) – netha 2010-10-06 15:57:04