HtmlUnit获取使用js生成的src图像

时间:2018-09-30 09:33:24

标签: java html htmlunit

我正在尝试提取一些用js生成的图像,但是我不确定如何用html unit:(

enter image description here

页面源看起来像这样:

<a id="item_1574320" href="https://carzz.ro/dacia-logan-14-mpipreferancefab-2006originala-anunt_1574320.html" class="main_items item_cart ">

    <div class="placeholder">
                <div class="overflow_image">
                            <div id="ad_img_loader_1574320" class="ad_img_loader">
                    <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px" height="50px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
                        <path fill="#d32f2f" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z">
                            <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.6s" repeatCount="indefinite"/>
                        </path>
                    </svg>
                </div>
                    </div>

我尝试过这样的事情:

String img = pageHtml.getByXPath("//div[starts-with(@id,'item_')] / div[@class='placeholder'] / div[@class='overflow_image'] / img").toString();

1 个答案:

答案 0 :(得分:1)

当您可以尝试新的HTML Scrape软件包时,为什么使用HTML-Unit?

这包括文档和jar文件,并使从网站抓取以下数据变得容易:外国新闻翻译,财务数据,本地新闻图片以及其他类似Google的工作。 (一年后,我本周才完成)。

  

http://developer.torello.directory/JavaHTML/index.html

import Torello.HTML.*;
import java.util.*;
import java.io.*;

public class GetImage
{
    public static void main(String[] argv) throws IOException
    {
        Vector<HTMLNode> page = HTMLPage.getPageTokens(new java.net.URL("My URL.html"), false);
        int pos = InnerTagFind.first(page, "div", "class", tagValue -> tagValue.equals("overflow-image"));
        TagNode tn = TagNodeGet.first(page, pos, -1, TC.OpeningTags, "img");
        String href = Tags.getInnerTagValue(tn, Tags.IMG_SRC);
        System.out.println("The Image URL is: " + href);
    }
}