Jsoup常用实例

2019-04-26 22:54|来源: 网路

在本篇文章中,将列出了一些常用的jsoup例子,例如获取URL或HTML文档的标题,链接,图像和元数据。

1. 获取URL的标题

Document doc = Jsoup.connect("http://www.656463.com").get();  
String title = doc.title();


2. 从HTML文件获取标题

Document doc = Jsoup.parse(new File("e:\\register.html"),"utf-8");//assuming register.html file in e drive  
String title = doc.title();


3. 获取URL的链接

Document doc = Jsoup.connect("http://www.656463.com").get();  
Elements links = doc.select("a[href]");  
for (Element link : links) {  
    System.out.println("\nlink : " + link.attr("href"));  
    System.out.println("text : " + link.text());  
}


4. 获取URL的元信息

Document doc = Jsoup.connect("http://www.656463.com").get();  
String keywords = doc.select("meta[name=keywords]").first().attr("content");  
System.out.println("Meta keyword : " + keywords);  
String description = doc.select("meta[name=description]").get(0).attr("content");  
System.out.println("Meta description : " + description);


5. 获取URL的图像

Document doc = Jsoup.connect("http://www.656463.com").get();  
Elements images = doc.select("img[src~=(?i)\\.(png|jpe?g|gif)]");  
for (Element image : images) {  
    System.out.println("src : " + image.attr("src"));  
    System.out.println("height : " + image.attr("height"));  
    System.out.println("width : " + image.attr("width"));  
    System.out.println("alt : " + image.attr("alt"));  
}


6. 获取表单参数

Document doc = Jsoup.parse(new File("e:\\register.html"),"utf-8");  
Element loginform = doc.getElementById("registerform");  

Elements inputElements = loginform.getElementsByTag("input");  
for (Element inputElement : inputElements) {  
    String key = inputElement.attr("name");  
    String value = inputElement.attr("value");  
    System.out.println("Param name: "+key+" \nParam value: "+value);  
}



相关问答

更多
  • 实例化对象就是通过new关键字,new完之后就可以通过对象点出这个类里的方法或属性 比如 Test te=new Test();实例化对象 te.show();用对象点出方法!
  • 可以直接把int的地址强制转为char*来写入。如 int i = 1234; write(fd, (char*)&i, sizeof(int)); 同样道理,read也类似: read(fd, (char*)&i, sizeof(int));
  • jsoup找不到[2023-08-23]

    用URL类,把网页内容读入,然后分割字符串,得到你想要的内容。 URL url =这个貌似挺难额,我不懂,等答案。 建议使用 jsoup ,一款java 强悍的,sCmYRF
  • 是一个能解析html网页标识的开源框架。 配置环境 很简单啊,如果是普通java项目直接加入lib就行 如果是web项目,拷贝jar包到WEB-INF\lib下。 给你看看我项目截图
  • 您使用connect(...)获取的类Connection以及Document都没有获取文档大小的方法。 但是可以使用解决方法: int bytes = Jsoup.connect(...).get().toString().length(); 下载完整文档后,它的大小就是传输的字节数。 对于POST,你必须以同样的方式。 我可以在我的应用程序中有一个实例,并知道总共传输了多少字节? 有很多方法:使用单例或方法下载您的网站并计算字节数。 public class Example { private ...
  • 你可以试试这个 /*function to parse the HTML*/ private void parseHTML(String szHTML){ Document doc = Jsoup.parse(szHTML); Elements arrEle = doc.select("section"); for(Element child: arrEle){ printSectionDetails(child); } } /*function to ...
  • 我的解决方案:使用yopmail而不是mailinator。 My solution: Use yopmail instead of mailinator.
  • 虽然您的问题大多已经减少到IDE控制台的问题,但在复制过程中我已经简化了您的原始代码。 您可能会发现它很有用: try (Scanner input = new Scanner(System.in)) { System.out.print("Unesite rec koju trazite"); final Elements result = Jsoup.connect("http://www.b92.net").get() .select("a[href]:contains(" + ...
  • 服务器可能有某种方法来检测您是否使用机器人刮取页面。 尝试将您的http标头更改为以下内容: public class Util { public static Connection mask(Connection c) { return c.header("Host", "brickseek.com") .header("Connection", "keep-alive") // .header("Content-Lengt ...
  • Jsoup使用Matcher#find() ,而不是Matcher#matches() 。 所以,你需要自己提供^和$ 。 Elements dirs = baseDir.getElementsByAttributeValueMatching( "href", Pattern.compile("^[0-9]+/$")); 以下是解释差异的相关的javadoc摘录(强调我的) : 找 ... 返回: 当且仅当输入序列的子序列与此匹配器的模式匹配时才返回true 火柴 ... 返回: 当且仅当整个区域 ...