Ben sadece bulduk tüm bağlantıların bir SQL tablosu var ve onlar çözümlenen veya değildir varsa.
O büyük sayfaları (html 500kb +) ile bellek tükendi eğilimi gibi ben bazı * için regex kullanmak rağmen ben, sonra Simple HTML DOM eski eklenen sayfa ayrıştırmak için kullanın. Ben ayrıştırma gerek olarak SQL veritabanına eklemek bulmak her bağlantı, ve bir süre için ben buldum.
SQL veritabanı bir hata kayıp olan veri engeller, ve ben ayrıştırmak için 100.000 + bağlantıları var, ben uzun bir süre boyunca bunu.
Ben emin değilim, ama file_get_contents userAgent kontrol var (?) Bu sayfaları değildir ve istekleri 1000'ler yaparsanız, yükleyici kendi HTTP aşağı yazarken veya (ben Zend Framework birini kullanın) bir kütüphaneden birini kullanarak ancak cURL vb yoluyla, kullanıcı aracısı değiştirmek isteyebilirsiniz cezası çalışır. Özel bir kullanıcı aracısı kullanırsanız, bu günlükleri üzerinde seyir yönetici sizin bot hakkında bilgileri görmek için izin verir. (Ben emekleme ediyorum nedenini ve benimkinde bir kişiyi koymak eğilimindedir).
* Ben kullanmak regex olduğunu:
'/<a[^>]+href="([^"]+)"[^"]*>/is'
(Bamya itibaren) daha iyi bir çözüm olabilir:
'/<a\s+(?:[^"'>]+|"[^"]*"|'[^']*')*href=("[^"]+"|'[^']+'|[^<>\s]+)/i'