我正在尝试使用JSoup从IMDb链接中刮取海报图像,并进行保存,以便以后我的程序可以使用它。这是我到目前为止的内容:
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类下,但是我无法找到如何提取图像的方法。请耐心等待,因为我没有使用JSoup的经验。非常感谢。
答案 0 :(得分:2)
我已经使用JSoup一段时间了。但我从未尝试从HTML来源下载图片。
按照上述步骤获取文档后,您将使用以下方法获得所需的div:
Elements divs = doc.getElementsByClass("poster");
上面的代码将返回所有带有'poster'类的Elements。
如果您确定只有一个名为“海报”的div可以这样做:
Element poster = divs.first();
如果不确定,则需要找到一种方法来区分该div与其他div。
现在,您有了“海报” div,您可以通过以下操作在其中获取链接:
Elements image = poster.getElementsByTag("a");
上面的代码将返回“海报” div中的所有链接。如上所述,如果您确定'poster'div中只有一个链接,则可以执行以下操作:
Element downloadImage = image.first();
现在,您已经有了所需图像的链接。