如果大小有限,我如何使用 JSoup 从网站上获取所有图像元素?

问题描述 投票:0回答:1

所以我写了 som 代码来从网站下载所有图片,但似乎我可以从网站下载的图片数量有某种限制(128)?

my code for getting the images is as follows:

此代码以某种方式在图像 128 之后停止下载图像,即使该网站上有超过 220 张图像?

The HTML code from the site is as follows:

HTML 代码确实包含这个名为“data-page_size="128"" 的东西,您可以在图像上看到。我不知道这是否与它有关。此外,命令“”document.select(“div.continuous-pagination.icon-preview-inline”).select(“img[src$=.png]”).size””返回值 128.

让程序从站点下载所有图像是否有一些解决方法?

网站链接:https://www.iconfinder.com/search/icons?family=feather

对于那些想知道的人。我确实有使用和从网站下载图像的许可(尽管其中大部分是免费的),但目前无法从网站大量下载图标,我想自动执行该任务。

我尝试获取网站上所有220张图片的图片信息。

java jsoup element document
1个回答
0
投票

JSoup 非常适合不使用 Javascript 加载内容的页面。当您向下滚动时,您提到的页面会加载更多图像,最终显示所有可用图像。

试试这个:在浏览器中刷新页面但不要向下滚动。打开 Inspector 并执行

$x('//div[contains(@class, "icon-preview-bg")]')
。展开结果数组可以看到有 128 个元素。现在,一直向下滚动页面(您应该注意到垂直滚动条上下改变位置),并在检查器中重复路径搜索:result = 286.

要获取所有图像,您必须使用网络驱动程序(例如 Selenium)在您的计算机上驱动 Chrome 实例(您可以在无头模式下执行此操作)以向下滚动(Chrome 和 Firefox 示例),强制重新加载。然后使用

driver.findElements(By.xpath(...))
.

抓取图像 url 的页面
© www.soinside.com 2019 - 2024. All rights reserved.