我正在构建 scraper 应用程序,我需要从网站获取图像。问题在于,当我获取页面时,我将获得默认图像(在页面最终加载之前出现的图像(。在加载结束时,JavasCrip显示了真实图像,而不是显示的(相同的HTML路径,但URL源不同(。
这是我的片段
public class Scapper{
public static void main(String[] args) throws IOException {
Document doc= Jsoup.connect(Url).get();
for (Element img : doc.getElementsByClass("prdct-dtl__thmbnl-wrpr").select(".prdct-dtl__thmbnl").select("img[src]")){
String url = img.absUrl("src");
System.out.println("Founded"+url);
}}}
update [这是网站的链接] [1]
[1]:
我只需要手机的图像链接
感谢您的问题编辑。因此,在查看了您的问题和您要解析的网站之后,您是正确的,说这些图像是通过JavaScript加载的,并且JSOUP返回了占位符图像。
这是因为您实际想要的图像以后加载了,并通过JavaScript添加到DOM,因为JSOUP是HTML解析器,因此无法以与浏览器相同的方式工作,并且对新加载的图像。
有一些方法,您可以在将图像添加到DOM后检索图像,但是它需要其他第三方库,例如Phantomjs或Ghost驱动程序,并且需要等待DOM才能完成所有资产来自JavaScript和jQuery。
这是一个可能有帮助的类似问题。