作者: pingc

请求web页面后会返回的一个Jpage对象,它存储着本次请求的所有信息,并且可以通过它进行对内容的解析。

Jpage支持:
Xpath(支持2.0)语法
正则表达式 提取/替换
css选择器提取


Xpath(推荐)

  1. //创建请求客户端
  2. JHtml jHtml = new JHtml();
  3. //发起get请求
  4. JPage jPage = jHtml.get("http://localhost");
  5. /**
  6. * xpath提取内容
  7. * getAll返回所有匹配内容
  8. * get返回第一个匹配内容
  9. **/
  10. List<String> h1s = jPage.xpath("//h1/text()").getAll();
  11. String h1 = jPage.xpath("//h1/text()").get();
  12. //打印返回内容
  13. System.out.println("全部匹配:"+h1s+",第一个匹配:"+h1);

正则表达式提取

  1. //创建请求客户端
  2. JHtml jHtml = new JHtml();
  3. //发起get请求
  4. JPage jPage = jHtml.get("http://localhost");
  5. /**
  6. * 正则表达式提取内容
  7. **/
  8. List<String> h1s = jPage.regex("(<h1.*?>)").getAll();
  9. //打印返回内容
  10. System.out.println("正则提取:"+h1s);

正则表达式替换

  1. //创建请求客户端
  2. JHtml jHtml = new JHtml();
  3. //发起get请求
  4. JPage jPage = jHtml.get("http://localhost");
  5. /**
  6. * 正则表达式替换内容
  7. * replaceAll替换所有符合内容
  8. * replaceFirst替换第一个符合内容
  9. * h1替换为h2
  10. **/
  11. List<String> h1All = jPage.replaceAll("h1","h2").getAll();
  12. List<String> h1First = jPage.replaceFirst("h1","h2").getAll();
  13. //打印返回内容
  14. System.out.println("全部替换:"+h1All+",替换一个:"+h1First);

css选择器

  1. //创建请求客户端
  2. JHtml jHtml = new JHtml();
  3. //发起get请求
  4. JPage jPage = jHtml.get("http://localhost");
  5. /**
  6. * css选择器
  7. * 返回的是jsoup的选择器,并没有做api封装
  8. **/
  9. Document selector = jPage.getSelector();
  10. //获取所有h1标签
  11. Elements h1 = selector.getElementsByClass("h1");
  12. //获取第一个h1标签的内容
  13. String h1text = h1.next().text();
  14. //打印返回内容
  15. System.out.println("第一个H1:"+h1text);