簡體   English   中英

Python | 通過IP地址檢查網站是否存在

[英]Python | Check if website exists by IP address

我在.txt文件中有數百萬個 IPv4地址,如下所示:

XYZW

XYZW

XYZW

...

我的目標是檢查每個地址,如果后面有一個真實的網站或該地址是假的。

我見過的帖子僅涉及URL(而不是地址),的確,我嘗試了上述方法,先將IP地址反向DNS映射為URL,然后使用它來確定網站是否存在。 但是,每個地址大約需要2秒鍾,對於所有地址來說都意味着幾個月,當然我沒有時間。

最好,最快的方法是什么?

我非常喜歡Python,但是使用C可以大大提高速度嗎?

謝謝。

除非虛擬托管這些網站,否則IP地址與主機名沒有任何不同。 但是,在虛擬主機的情況下,使用反向DNS不能為您提供幫助,因為可以將多個站點托管在相同的IP地址上,並且您現在要查詢的站點可能已關閉。 此外,並非所有網站都會在反向DNS記錄中注冊,因此您可能會錯過一些網站。

我不知道您使用什么方法來確定是否將網站托管在某個地址,但是無論如何,執行此操作可能是受IO限制而不是CPU限制。 這意味着使用C可能會在性能上帶來微不足道的改善,因為該程序將花費大部分時間等待網站的響應。

您可以提高性能的方法是:

  1. 減少超時。 如果將默認超時用於網絡操作,則可能會發現自己等待響應的時間超出了您的期望。

  2. 並行化任務。 嘗試使用threadingasyncio模塊。 它們被構建為允許任務並行化,而asyncio專門用於IO綁定程序。

另外,考慮使用已經實現了這些功能的工具,例如nmap

暫無
暫無

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

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