我正在尝试提取一些用js生成的图像,但是我不确定如何用html unit:(
页面源看起来像这样:
<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();
答案 0 :(得分:1)
当您可以尝试新的HTML Scrape软件包时,为什么使用HTML-Unit?
这包括文档和jar文件,并使从网站抓取以下数据变得容易:外国新闻翻译,财务数据,本地新闻图片以及其他类似Google的工作。 (一年后,我本周才完成)。
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);
}
}