Şu anda bir yıldan fazla bir süredir depolanmış bir URL'ler (1000+) var. Devam etmek istiyorum ve hala var olup olmadığını görmek için hepsini doğrulamak istiyorum. Hepsini kontrol etmenin ve siteye geri dönmeyenlerin listesini döndürmenin en iyi/hızlı yolu nedir?Python doğrulama url bir sayfaya gider
cevap
bu tür yavaş ama url ayrıca bir yapabilirsiniz size httplib
import httplib
try:
a = httplib.HTTPConnection('google.com')
a.connect()
except httplib.HTTPException as ex:
print "not connected"
kullanabilirsiniz urllib2 daha canlı bir
import urllib2
try:
urllib2.urlopen(url)
return True # URL Exist
except ValueError, ex:
return False # URL not well formatted
except urllib2.URLError, ex:
return False # URL don't seem to be alive
daha hızlı olup olmadığını kontrol etmek böyle bir şey kullanabilirsiniz DNS çıkışı (bir web sitesinin bulunup bulunmadığını kontrol etmek pek uygun değildir):
import socket
try:
socket.gethostbyname('www.google.com')
except socket.gaierror as ex:
print "not existe"
Chec Bu k: o zaman
Sonu:
import ping, socket
try:
result = ping.do_one('http://stackoverflow.com/', timeout=2)
except socket.error, e:
# url cannot be reached
print "Error:", e
Kontrol etmek için 1000'den fazla URL sahibim. Bu aşağıda urllib2 cevabı kullanmaktan daha hızlı olacak mı? – John
Sanırım olacak. Dene. Ayrıca ağa da bağlıdır. Her durumda sunucunun yanıt vermesi biraz zaman alacaktır (kodda gördüğünüz gibi benim çözümümde zaman aşımı ayarlayabilirsiniz). – Klark
- 1. html geçiş düğmesi tıklandığında başka sayfaya gider
- 2. Önceki Sayfaya Git URL
- 3. PHP bir URL doğrulama
- 4. laravel url doğrulama iletileri
- 5. URL Python
- 6. Codeigniter Form Doğrulama: Herhangi bir doğrulama hatası bulunursa önceki sayfaya nasıl yönlendirilir?
- 7. URL parametrelerini yönetme (Python Flask)
- 8. Belirli bir sayfaya opencart
- 9. yaylı güvenlik kimlik doğrulama-başarısızlık-url
- 10. Pinterest Kimlik Doğrulama url 404 hatası veriyor?
- 11. bir sayfaya duyarlı yapmak
- 12. Python: sözlükte her değerlerini doğrulama
- 13. Yönlendirmeli sayfaya geri dön
- 14. Python istekleri: Oturumda URL tabanı
- 15. Python ve BeautifulSoup URL ayrıştırması
- 16. "Proje Ayarlarını Doğrulama" uyarısını yapmanın herhangi bir yolu Xcode 4.3/4.3.1'de gider?
- 17. Gider Raporu'nu onaylayamıyoruz
- 18. LISTEN/NOTIFY pgconnection java gider?
- 19. Pandalar: olarak gider numaraları
- 20. Immutable Sözlük genel gider?
- 21. Varsayılan sayfaya yönlendirilmedi
- 22. javascript: sayfaya yönlendiriliyorsunuz?
- 23. Prestashop'ta belirli bir sayfaya facebook piksel ekleme
- 24. Python şişe anahtarı kimlik doğrulama sistemi, bir kişi bir tuşa girdikten sonra çalışmaz mı?
- 25. Symfony2: Kullanıcının bir URL desenine erişmesine izin verilmediğinde belirli bir sayfaya nasıl yönlendirilir?
- 26. İmleç, bir metin alanının başına gider
- 27. AVAssetWriterInputPixelBufferAdaptor pixelBufferPool, bir süre sonra NULL gider
- 28. Bir web servisindeki console.writeline çıkışı nereye gider?
- 29. XAML tarafından bir sayfaya Window.Content?
- 30. Salatalık bir sayfaya nasıl giderilir?
hızlı urllib2 daha soketi kullanıyor. Ben urllib2 denedim ama bu sonsuza dek sürdü bu yüzden – John
durdurdu ben sadece benim soru düzenlenmiş ve httplib kullanarak ve ping (diğer cevap) veya dns araması (cevabımda üçüncü çözüm) kullanarak daha hızlı bir çözüm ekledim çok uygun değil, çünkü birçok web sitesi hala DNS'de kayıtlı ve artık yok ve ping için sadece DNS arama + bir ICMP ping gibi web sitesi (http sunucusu) olup olmadığını söyleme "bağlantı kabul ediliyor" çalışıyor ya da değil – mouad
"urllib2" bir OS X üzerinde bir proxy arkasından benim için çalıştı. "httplib 'işe yaramaz. –