Java Jsoup从css获取背景图像路径

Java Jsoup从css获取背景图像路径,java,jsoup,Java,Jsoup,我正在寻找一个给定网站上的所有图像 为此,我需要找到css中的内容,例如: .gk-crop { background-image: url("../images/style1/g_rss-2.png"); } 现在我的问题是如何使用JSoup获取所有这些URL 到目前为止,我尝试了以下方法: Document doc = Jsoup.connect(url).get(); Elements imagePath = doc.select("[src]");

我正在寻找一个给定网站上的所有图像

为此,我需要找到css中的内容,例如:

   .gk-crop {
    background-image: url("../images/style1/g_rss-2.png");
}
现在我的问题是如何使用JSoup获取所有这些URL

到目前为止,我尝试了以下方法:

    Document doc = Jsoup.connect(url).get();
    Elements imagePath = doc.select("[src]");
    imagePath.select("*[style*='background-image']");
但到目前为止运气不好


有人知道我如何实现它吗?

Jsoup
不解析css文件

查看一下以了解
Jsoup
负责什么


您需要一个单独的css解析器来从
css
文件中提取
url
。查看

如果要选择网站上所有图像的URL,可以选择所有图像标记,然后获得绝对URL

例如:

String html = "http://www.bbc.co.uk";
Document doc = Jsoup.connect(html).get();

Elements titles = doc.select("img");

for (Element e : titles) {
    System.out.println(e.absUrl("src"));
}
它将获取所有
元素并将其呈现,例如

如果您只需要.JPG文件,请通过包括


这导致只解析.JPG URL。

就像Niranjan提到的那样,Jsoup不是用于解析CSS,而是用于解析XML。如果您真的需要从CSS中提取一些图像,那么您需要使用一些第三方库来实现这一目的,或者编写简单的正则表达式来从CSS文件中获取URL——它仍然是纯文本,不是吗?这不是解决问题的灵活方法,但它将是最快的方法:)

Daniel B通过
css
请求的图像不会成为
源代码中的
标记的一部分。
http://sa.bbc.co.uk/bbc/bbc/s?name=SET-COUNTER&pal_route=index&ml_name=barlesque&app_type=web&language=en-GB&ml_version=0.16.1&pal_webapp=wwhp&blq_s=3.5&blq_r=3.5&blq_v=default-worldwide
http://static.bbci.co.uk/frameworks/barlesque/2.50.2/desktop/3.5/img/blq-blocks_grey_alpha.png
http://static.bbci.co.uk/frameworks/barlesque/2.50.2/desktop/3.5/img/blq-search_grey_alpha.png
http://news.bbcimg.co.uk/media/images/69139000/jpg/_69139104_69139103.jpg
http://news.bbcimg.co.uk/media/images/69134000/jpg/_69134575_waynerooney1.jpg
Elements titles = doc.select("img[src$=.jpg]");