簡體   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