我需要提取网页的HTML 我在groovy中使用HTTPuilder,得到以下结果:
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"
}
}
我得到的回复,不包含我在浏览www.google.com/search的html源代码时可以看到的相同HTML。实际上,它既不是html,也不包含我在页面的html源代码中看到的相同信息。 我尝试过设置不同的标题(例如,headers.Accept ='text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8',标题。 Accept ='text / html',设置用户代理等),但结果是一样的。 如何使用http builder
获取www.google.com/search(或任何网页)的html答案 0 :(得分:0)
为什么要使用httpBuilder?您可以改为使用
def url = "http://www.google.com/".toURL()
println url.text`
提取网页内容
答案 1 :(得分:0)
因为httpbuilder会根据内容类型自动解析结果。 获取原始html,尝试从实体
获取文本def htmlResult = http.get(uri: url, contentType: TEXT){ resp->
return resp.getEntity().getContent().getText()
}