Jsoup图像标记提取
我需要使用此html中的jsoup提取图像标记
我需要提取这个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(""); 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
-
html()
,它获取元素的内部HTML(),以及
-
outerHtml()
,它获取一个完整的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(" "); 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”字样。