java 爬虫如何获取with( document) with (body) 中的body 内容?

用http请求一个链接获取如下内容

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta http-equiv="Cache-Control" content="no-siteapp" />
  <meta name="data-spm" content="a21ag"/>
  <meta name="renderer" content="webkit">
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>生意参谋</title>

    
  
  
      <link rel="stylesheet" href=//g.alicdn.com/dt/op-ebase/3.4.41/op-ebase.css />
    <link rel="stylesheet" href=//g.alicdn.com/dt/op-eportal/1.12.20/login.css />
    <!--[if lte IE 9]>
  <script>if (!/update\.htm/.test(location.href)) window.location = '//sycm.taobao.com/portal/update.htm'; </script>
  <![endif]-->
</head>
<body class="esycm-wrapper" data-spm="8365346"><script>
with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","category=&userid=&aplus&yunid=&&asid=AQAAAADhb8xakfQWKgAAAABSM9G79i330w==",id="tb-beacon-aplus",src=(location>"https"?"//g":"//g")+".alicdn.com/alilog/mlog/aplus_v2.js")
</script>
  <div id="app"></div>
      <script type="text/javascript" src=//g.alicdn.com/dt/op-ebase/3.4.41/op-ebase.js crossorigin></script>
    <script type="text/javascript" src=//g.alicdn.com/dt/op-eportal/1.12.20/login.js crossorigin></script>
  </body>
</html>

body没有显示出来如获取呢?

阅读 4.3k
1 个回答

你这种情况需要用到无头浏览器才行的。相当于要等js执行后,你再解析内容。
如果是node来写的话,可能比较方便,使用PhantomJS实现起来比较方便。

不过,java环境下的HtmlUnit兼容性稍弱,你可以试试看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题