[英]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可能會在性能上帶來微不足道的改善,因為該程序將花費大部分時間等待網站的響應。
您可以提高性能的方法是:
減少超時。 如果將默認超時用於網絡操作,則可能會發現自己等待響應的時間超出了您的期望。
並行化任務。 嘗試使用threading
或asyncio
模塊。 它們被構建為允許任務並行化,而asyncio
專門用於IO綁定程序。
另外,考慮使用已經實現了這些功能的工具,例如nmap
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.