【问题标题】:Jsoup extract Hrefs from the HTML contentJsoup 从 HTML 内容中提取 Hrefs
【发布时间】:2019-07-05 18:35:28
【问题描述】:

我的问题是我尝试使用 JSoup 从该站点获取 Href

https://www.amazon.de/s?k=kissen&__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&ref=nb_sb_noss_2

但它不起作用。

我试着像这样从 Href 中选择类

Elements elements = documentMainSite.select(".a-link-normal");

然后我尝试使用以下代码提取 Href。

for (Element element : elements) {
  String href = element.attributes().get("href");
}

但不幸的是它什么也没给我......

谁能告诉我我的错误在哪里?


我不只是连接到网站。我还通过使用

提取它们来将 hrefs 保存在字符串中
String href = element.attributes().get("href");

之后我打印了 href 字符串但为空。

另一方面,代码与另一个 css 选择器一起工作。所以它本身与代码无关。它只是可能是错误的 css 选择器(.a-link-normal)。

【问题讨论】:

  • 我肯定用 system.out.println 打印了 href 字符串。

标签: java jsoup screen-scraping


【解决方案1】:

通过 Jsoup 简单地连接到 url,你不会得到任何东西。

Document document = Jsoup.connect(yourUrl).get();
String bodyText = document.getElementsByTag("body").get(0).text();

这是我从上面的代码中得到的正文的翻译。

请输入以下字符我们请求您的理解并希望 确保您不是机器人。为获得最佳效果,请使用浏览器 接受cookies。键入您在图像中看到的字符: Enter 字符 尝试其他图片 继续购物 条款和条件 隐私政策 © 1996-2015,Amazon.com, Inc. 或其附属公司

例如,您需要绕过验证码或通过 Selenium 模拟浏览器。

【讨论】:

  • 你能把代码发给我吗?
  • @Antuan,我已经更新了答案,通过将结果打印到标准输出来检查结果。如果您不按照我提供的方式使用 Jsoup,请使用您的代码更新问题。
猜你喜欢
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多