La lista es muy larga.
1. Ya revisaste que obtienes correctamente las direcciones?
2. Reemplaza los <br> por cadena vacia en vez de un espacio y con str_replace, ya que es reemplazo de caracteres y no de patrones.
3. En
$a["$row"] sobran las comillas, puesto que es un indice numerico.
4. Podrias armar bloques de 100 direcciones para insertar, esto solo ayudaria a optimizar un poco la carga de MySQL, aunque no es tan necesario si el proceso no se va a realizar frecuentemente.
El mayor problema seria el # 1, donde ciertamente debes modificar el maximo tiempo de ejecucion y puede ser "al vuelo" sin tener que cambiar php.ini, solo usa
ini_set('campo_de_configuracion', valor);
Hay otras opciones para tratar de leer, como
cURL o
fsockopen en caso de que file_get_contents falle.