簡體   English   中英

從Java網頁中提取HTML

[英]Pulling HTML from a Webpage in Java

我想從一個Java網站(或Python或PHP,如果使用這些語言更容易顯示)中提取整個HTML源代碼文件。 我只希望查看HTML並使用幾種方法進行瀏覽-而不是以任何方式進行編輯或操作,並且我真的希望除非沒有其他方法,否則不要將其寫入新文件。 是否有任何執行此操作的庫類或方法? 如果沒有,有什么辦法解決嗎?

在Java中:

URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream

此代碼非常適合腳本編寫和內部使用。 我會反對將其用於生產。 它不處理超時和連接失敗。

我建議將HttpClient庫用於生產。 它支持身份驗證,重定向處理,線程,池等。

在Python中:

import urllib
# Get a file-like object for the Python Web site's home page.
f = urllib.urlopen("http://www.python.org")
# Read from the object, storing the page's contents in 's'.
s = f.read()
f.close()

請參閱Python和HTML處理以獲取更多詳細信息。

也許您還應該考慮使用另一種方法,例如從命令行運行標准實用程序(如wgetcurl) ,以將站點樹提取到本地目錄樹中。 然后使用本地副本進行掃描(使用Java,Python等)。 這樣做比自己實現所有無聊的事情(例如錯誤處理,參數解析等)要簡單得多。

如果要獲取站點中的所有頁面,則wget和curl不知道如何從HTML頁面中獲取鏈接。 一種替代方法是使用開源Web搜尋器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM