【问题标题】:HtmlUnit and decrypting a span elementHtmlUnit 和解密 span 元素
【发布时间】:2015-11-18 21:04:47
【问题描述】:

我正在尝试从网站上抓取电话号码。

当我检查第二个条目中的电话号码时,Chrome 中的检查器会给我以下结果:

    <span class="nummer">(012) 34 56 78</span>
    <span class="suffix encode_me telSelector129112728843_1306868" data-telselector="telSelector129112728843_1306868" data-telsuffix="IDEw"> 90</span>

但是,Htmlunit(和 Chrome,如果我点击“显示源代码”)会显示以下内容:

    <span class="nummer">(012) 34 56 78</span>
    <span class="suffix encode_me telSelector129112728843_1306868" data-telselector="telSelector129112728843_1306868" data-telsuffix="IDEw"></span>

有什么方法可以用 Htmlunit 获取电话号码的最后一个块?

【问题讨论】:

  • 也许他们是动态插入数据,正是为了防止页面的静态抓取...?

标签: java htmlunit


【解决方案1】:

有了最新版本,我得到了它:

    try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
        String url = "http://www.gelbeseiten.de/schneider/hamburg";
        HtmlPage htmlPage = webClient.getPage(url);
        for (Object o : htmlPage.getByXPath("//span[@class='teilnehmertelefon']")) {
            System.out.println(((HtmlElement) o).asXml());
        }
    }

打印一个条目:

<span class="teilnehmertelefon">
  <span class="text nummer_ganz">
    <span class="nummer">
      (040) 78 80 89
    </span>
    <span class="suffix encode_me telSelector129112728843_3662885" data-telselector="telSelector129112728843_3662885" data-telsuffix="IDEw">
       10
    </span>
  </span>
</span>

【讨论】:

  • 明白了。我禁用了 JavaScript。启用它就可以了。还是谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 2020-11-22
相关资源
最近更新 更多