A crawler framework