簡體   English   中英

jsoup-如何檢查網頁是否存在

[英]jsoup - how to check if a webpage exist or not

嗨stackoverflow用戶。

當我進行網頁抓取時,遇到一個問題,當我抓取特定站點的一系列網頁時,它們的URL為

http://www.somewebsites.com/abc.php?number=0001
http://www.somewebsites.com/abc.php?number=0002
http://www.somewebsites.com/abc.php?number=0003
..
..
http://www.somewebsites.com/abc.php?number=1234

這樣的事情。 由於某些頁面有時可能會關閉,因此服務器可以通過重定向到其他頁面來處理它,例如首頁。 這樣,我的抓取程序將遇到與語法結構更改相關的各種異常(因為它是不同的頁面)。

我想知道是否有一種方法可以檢查我正在抓取的網頁是否存在,以防止我的程序在這種情況下被終止。

我正在使用

Jsoup.connect()

連接到該頁面。 但是,當我訪問失敗的網頁(重定向)時,我被重定向到另一個頁面。 在我的程序中,控制台不會引發有關連接的任何異常。 相反,該異常只是超出范圍的異常的索引,因為意外重定向的網頁具有完全不同的結構。

由於某些頁面可能偶爾會關閉,服務器可能會通過重定向到其他頁面來處理它,因此請說主頁

通常,當網站上的頁面暫時不可用並被重定向時,客戶端將獲得響應代碼為302(永久移動)或307(臨時移動),並且帶有“ Location”標頭,該代碼指向重定向的頁面。 似乎可以通過將followRedirects設置為false來配置Connection在這種情況下不重定向。 然后,您可以在將響應轉換為文檔以進行進一步處理之前,驗證HTTP響應代碼。

暫無
暫無

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

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