如何使用 JSoup 从 HTML 网页保存图像
How to save an image from an HTML webpage with JSoup
我正在尝试使用 JSoup 从 IMDb link 中抓取海报图像并保存,以便以后我的程序可以使用它。这是我目前所拥有的:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JSoupTest
{
public static void main(String[] args)
{
String address = "https://www.imdb.com/title/tt1270797/";
try
{
Document doc = Jsoup.connect(address).get();
Element link = doc.select().select();
}
catch (IOException e)
{
// Auto-generated catch block
e.printStackTrace();
}
}
}
现在,我知道图像在名为 "poster" 的 div class 下,但我不知道如何提取它。请耐心等待,因为我以前没有使用 JSoup 的经验。非常感谢。
我使用 JSoup 已有一段时间了。但我从未尝试从 HTML 来源下载图像。
按照上述方法获取文档后,您将获得所需的 div,方法是:
Elements divs = doc.getElementsByClass("poster");
上面的代码将 return 所有具有 'poster' class 的元素。
如果您确定只有一个 div 名为 'poster',您可以这样做:
Element poster = divs.first();
如果您不确定,您需要找到一种方法将 div 与其他的区分开来。
现在,您有了 'poster' div,您可以通过以下操作获取其中的 link:
Elements image = poster.getElementsByTag("a");
上面的代码将 return 'poster' div 中的所有 link。正如我们上面所做的,如果你确定'poster'div里面只有一个link,你可以这样做:
Element downloadImage = image.first();
现在,您已经有了 link 所需的图像。
我正在尝试使用 JSoup 从 IMDb link 中抓取海报图像并保存,以便以后我的程序可以使用它。这是我目前所拥有的:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JSoupTest
{
public static void main(String[] args)
{
String address = "https://www.imdb.com/title/tt1270797/";
try
{
Document doc = Jsoup.connect(address).get();
Element link = doc.select().select();
}
catch (IOException e)
{
// Auto-generated catch block
e.printStackTrace();
}
}
}
现在,我知道图像在名为 "poster" 的 div class 下,但我不知道如何提取它。请耐心等待,因为我以前没有使用 JSoup 的经验。非常感谢。
我使用 JSoup 已有一段时间了。但我从未尝试从 HTML 来源下载图像。
按照上述方法获取文档后,您将获得所需的 div,方法是:
Elements divs = doc.getElementsByClass("poster");
上面的代码将 return 所有具有 'poster' class 的元素。
如果您确定只有一个 div 名为 'poster',您可以这样做:
Element poster = divs.first();
如果您不确定,您需要找到一种方法将 div 与其他的区分开来。
现在,您有了 'poster' div,您可以通过以下操作获取其中的 link:
Elements image = poster.getElementsByTag("a");
上面的代码将 return 'poster' div 中的所有 link。正如我们上面所做的,如果你确定'poster'div里面只有一个link,你可以这样做:
Element downloadImage = image.first();
现在,您已经有了 link 所需的图像。