Jsoup图像标记提取

我需要使用此html中的jsoup提取图像标记

picture

我需要提取这个img标签的src …我正在使用这个代码我得到空值

 Element masthead2 = doc.select("div.picture").first(); String linkText = masthead2.outerHtml(); Document doc1 = Jsoup.parse(linkText); Element masthead3 = doc1.select("img[src]").first(); String linkText1 = masthead3.html(); 

这是获取图像源属性的示例:

 public static void main(String... args) { Document doc = Jsoup.parse("
\"picture\"
"); Element img = doc.select("div.picture img").first(); String imgSrc = img.attr("src"); System.out.println("Img source: " + imgSrc); }

div.picture img选择器在div下找到image元素。

元素的主要提取方法是:

  • attr(name) ,它获取元素属性的值,
  • text() ,它获取元素的文本内容(例如,在

    Hello

    ,text()是“Hello”),

  • html() ,它获取元素的内部HTML(

    html()= ),以及

  • outerHtml() ,它获取一个完整的HTML元素(

    html()=

您不需要像在当前示例中那样重新分析HTML,要么使用更具体的选择器在第一个位置选择正确的元素,要么点击element.select(string)方法以进行winnow down。

  CAST:  Jay, Shazahn Padamsee   

您可以使用:

 Document doc = Jsoup.parse(...); Elements els = doc.select("td[class=blackNoLine]"); Element el= els.get(1); String castName = el.text(); 

使用以下代码,我可以正确提取图像:

  Document doc = Jsoup.parse("
\"picture\"
"); Element elem = doc.select("div.picture img").first(); System.out.println("elem: " + elem.attr("src"));

我正在使用最新的jsoup版本1.2.2

也许你正在尝试打印像img这样的空标签的内部html。

从文档:“html() – 检索元素的内部HTML”。

对于html的第二部分,您可以使用:

  Document doc2 = Jsoup.parse(" CAST:  Jay, Shazahn Padamsee  "); Elements trElems = doc2.select("tr"); if (trElems != null) { for (Element element : trElems) { Element secondTd = element.select("td").get(1); System.out.println("name: " + secondTd.text()); } } 

其中印有“Jay,Shazahn Padamsee”字样。