Jsoup 获取产品描述
Jsoup get Product Description
我想获取本网站的产品说明:
https://www.real.de/product/346010948/?id_item_promotion=620332
我觉得我需要
但是我不知道如何解析它。
这是我的解析代码
@Override
public Product getDescriptionByReal(Product product) {
String completeUrl = "https://www.real.de/product/" + product.getPlattformProductId() + "/";
try {
Document document = Jsoup.connect(completeUrl).get();
Elements description = document.select("div#prodct-data");
product.setDesc(description.text());
return product;
} catch (IOException e) {
product.setDesc(e.getMessage());
return product;
}
}
如果我尝试 "document.select("div.rd-product-description__text");"或 "document.select("div#prodct-data")" 我一无所获,
如果我将其更改为 "document.select("div"); 我得不到我想要的数据。
产品说明在主文档之后异步加载。 Jsoup 只能访问 Javascript 修改前的文档。使用 chrome 调试器,我从获取它的地方找到了 URL。你可以下载这个 JSON:
https://www.real.de/pdp-test/api/v1/346010948/product-description/
并解析它以获得描述。 Jsoup 无法解析 JSON 所以你必须使用其他库或使用简单的正则表达式来获取 <div>
和 </div>
之间的部分。
我想获取本网站的产品说明: https://www.real.de/product/346010948/?id_item_promotion=620332
我觉得我需要 但是我不知道如何解析它。
这是我的解析代码
@Override
public Product getDescriptionByReal(Product product) {
String completeUrl = "https://www.real.de/product/" + product.getPlattformProductId() + "/";
try {
Document document = Jsoup.connect(completeUrl).get();
Elements description = document.select("div#prodct-data");
product.setDesc(description.text());
return product;
} catch (IOException e) {
product.setDesc(e.getMessage());
return product;
}
}
如果我尝试 "document.select("div.rd-product-description__text");"或 "document.select("div#prodct-data")" 我一无所获, 如果我将其更改为 "document.select("div"); 我得不到我想要的数据。
产品说明在主文档之后异步加载。 Jsoup 只能访问 Javascript 修改前的文档。使用 chrome 调试器,我从获取它的地方找到了 URL。你可以下载这个 JSON:
https://www.real.de/pdp-test/api/v1/346010948/product-description/
并解析它以获得描述。 Jsoup 无法解析 JSON 所以你必须使用其他库或使用简单的正则表达式来获取 <div>
和 </div>
之间的部分。