Un web crawler lo puedes dividir en 2 partes:
La parte de crawling y la parte de scraping. La parte de crawling consiste en seguir links mientras que el scrapping consiste en obtener datos de las paginas crawleadas.
Por cierto hay herramientas ya hechas para hacer el crawling, por ejemplo
scrapy.
Otra cosa, a que base de datos lo quieres conectar? puedes usar sqlite3 para pruebas.