繁体   English   中英

Java - 下载网页

[英]Java - Download piece of webpage

最近听到有人说可以下载一个网页的“片段”,避免下载整个网页。 例如,我必须下载一个网页( http://someurl.com )来解析它并提取一些信息。 有没有办法只下载它的“一部分”,而不是整个网页?

问候。-

当然。 正常开始下载页面(打开套接字、联系服务器、请求页面等),然后在收到前 20 个字节的数据后停止操作。

Boom,网页的一部分。 您将无法解析任何内容,但是您的问题不清楚您打算如何仅使用部分网页进行解析。

不幸的是,由于缺乏特异性,可能会与刚才的提问混淆。 让我们根据单个 URL 定义它,该 URL 引用可通过 HTTP/1.1 访问的单个资源。 如有疑问,让我们去找一个来源 来源:HTTP/1.1 是原始 HTTP (HTTP/1.0) 的修订版。 在 HTTP/1.0 中,为每个资源请求建立到同一服务器的单独连接。 HTTP/1.1 可以多次重用连接以在页面交付后下载图像、脚本、样式表等。 因此,HTTP/1.1 通信的延迟更少,因为 TCP 连接的建立会带来相当大的开销。

HTTP 定义了方法(有时称为动词)以指示要对标识的资源执行的所需操作。 该资源代表什么,无论是预先存在的数据还是动态生成的数据,都取决于服务器的实现。 通常,资源对应于驻留在服务器上的文件或可执行文件的输出。 HTTP/1.0 规范[11] 定义了GET、POST 和HEAD 方法,HTTP/1.1 规范[12] 添加了5 个新方法:OPTIONS、PUT、DELETE、TRACE 和CONNECT。 通过在这些文档中指定,它们的语义是众所周知的并且可以依赖。 任何客户端都可以使用任何方法,服务器可以配置为支持任何方法组合。 如果中间体不知道某个方法,则它将被视为不安全且非幂等的方法。 可以定义的方法数量没有限制,这允许在不破坏现有基础架构的情况下指定未来的方法。 例如,WebDAV 定义了 7 个新方法,RFC 5789 指定了 PATCH 方法。

我们可以单独索取头部,也可以索取本体,但是如果我们打的是资源,除了头部方法我知道没有办法索取部分资源。 因此,答案是否定的,除非这个问题允许一个HTTP资源。 注意图像或脚本可以作为单独的资源访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM