Java中是否有方法向网页发出HTTP请求,其中响应只是我想要的某些特定元素而不是整个文档?
例如,如果我要请求名为<div>
的{{1}},则响应将只是该元素,而不是页面上存在的其他绒毛,我不需要。
我查看的大多数方法都涉及获取整个HTML页面然后解析它。我想看一下这个页面,然后选择我想要的div,并将其作为回应。我正在处理的网页包含很多我想忽略的广告内容。
答案 0 :(得分:2)
那是不可能的。 Web的工作方式是向页面发送HTTP GET请求,然后返回整个页面。你用它做什么(解析等)取决于你,但你对HTTP协议没有任何影响。
如果您使用自己实现的自定义服务器/ API来托管网页,则可以实现这一点。您可以发送一个请求,其中包含指定所需内容的某些参数,并且可以解析html页面服务器端。
答案 1 :(得分:1)
不可能。 HTTP Get / post调用将返回完整的网页信息,但不会返回部分信息。
答案 2 :(得分:1)
HTTP与页面内容无关,它只是一个管理服务器请求和响应的协议。
我明白你想做什么,你只是稍微问了一个错误的问题。不要担心HTTP,这只是管理服务器请求和响应的协议(GET,PUT,POST,HEAD,OPTIONS)。
您描述的问题只能在检索完内容后处理。您需要使用作为XML和XHTML基础的文档对象模型(DOM)。这意味着您需要熟悉DOM,以及XPath和XSL。
您要求的功能可以通过多种方式实现,但它通常归结为一系列非平凡的操作:
虽然可以从头开始实现,但已经有一些具有此功能的开源项目,请尝试类似jsoup: Java HTML Parser的内容。