我怎么能得到一个网页的HTML内容



我需要提取一个网页的HTML我在groovy中使用HTTPuilder,生成以下get:

def http = new HTTPBuilder('http://www.google.com/search')
http.request(Method.GET) {
 requestContentType = ContentType.HTML
 response.success = { resp, reader ->
  println "resp: " + resp
  println "READER: " + reader
 }
 response.failure = { resp, reader ->
  println "Failure"
 }
}

我得到的响应,不包含相同的html,我可以看到当我探索www.google.com/search的html源。事实上,它既不是html,也不包含我在页面的html源中看到的相同信息。我试过设置不同的头(例如,头。Accept = 'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8', headers。Accept = 'text/html',设置user-agent,等等),但结果是一样的。我怎么能得到www.google.com/search(或任何网页)的html使用http生成器?

为什么使用httpBuilder?您可以使用

def url = "http://www.google.com/".toURL() 
println url.text`

提取网页内容

因为httpbuilder会根据内容类型自动解析结果。要获取原始html,请尝试从Entity

获取文本
def htmlResult = http.get(uri: url, contentType: TEXT){ resp->
    return resp.getEntity().getContent().getText()
}

相关内容

  • 没有找到相关文章

最新更新