Todos los artículos

Cómo extraer números de teléfono de un texto, una página web o un CSV

··2 min de lectura

Para extraer números de teléfono de un texto, usa un buscador que compruebe cada serie de dígitos con el plan de numeración del país, no una regex a secas. Pega tu texto, HTML o CSV en el extractor de números de teléfono y elige el país por defecto: obtienes cada número una sola vez, en E.164, dejando fuera fechas, precios y números de pedido. Funciona en tu navegador, así que el texto no se sube.

Extrae números de teléfono de un texto →

Extráelos con la herramienta

  1. Abre el extractor de números de teléfono.
  2. Elige el país por defecto: aquel al que pertenecen la mayoría de los números locales del texto.
  3. Pega el texto, o sube un archivo CSV, TSV o TXT. Las firmas de correo, el código fuente de páginas y las exportaciones de hojas de cálculo funcionan.
  4. Pulsa Extract numbers (extraer números). Cada número se convierte a E.164 y se cuenta una vez, se haya escrito como se haya escrito.
  5. Descarga el CSV o copia la lista en tu CRM o tu marcador.

Hazlo a mano en Python

Usamos un archivo de prueba de tres líneas:

Call Dana on (212) 555-0147 or her cell 212.555.0199.
Invoice 2024-10-15, total $1,234.56, order #48213377.
London office: +44 20 7946 0958. Fax 555-1234.

Una regex atrapa la fecha y corta el paréntesis:

grep -oE '\+?[0-9][0-9 ().-]{7,}[0-9]' notes.txt
# 212) 555-0147
# 212.555.0199
# 2024-10-15
# +44 20 7946 0958

libphonenumber de Google tiene una función findNumbers justo para esto, y su versión para Python es phonenumbers (pip install phonenumbers; usamos la versión 9.0.43 el 8 de noviembre de 2026):

import sys, phonenumbers

text = open(sys.argv[1]).read()
seen = set()
for m in phonenumbers.PhoneNumberMatcher(text, "US"):
    e164 = phonenumbers.format_number(m.number, phonenumbers.PhoneNumberFormat.E164)
    if e164 not in seen:
        seen.add(e164)
        print(e164, m.raw_string)
+12125550147 (212) 555-0147
+12125550199 212.555.0199
+442079460958 +44 20 7946 0958

La fecha, el precio y el número de pedido se omiten, y también 555-1234: siete dígitos no son un número de EE. UU. completo.

Lo que el extractor no hará

  • Adivinar. Un número al que le falta un dígito o con una errata en el código de área se omite. Compruébalo en el validador de números de teléfono para ver por qué.
  • Leer imágenes. Los PDF escaneados y las capturas de pantalla hay que convertirlos antes a texto.
  • Demostrar que una línea está activa. Un formato válido no dice nada sobre si la línea está en servicio. Consulta la consulta de operador telefónico.

Siguiente paso: los correos del mismo texto

Un texto con números de teléfono suele tener también direcciones de correo. Súbelas en /verify para comprobar cada buzón sin enviar nada. Las primeras 100 comprobaciones son gratis al iniciar sesión con Google, sin tarjeta.

Pro, $39 al mes: verificación de correos ilimitada.* Nunca medida, nunca se corta. Las consultas de teléfono en vivo son un complemento aparte con una cuota mensual. Consulta los precios.

*Uso razonable: las primeras 100.000 verificaciones del mes a máxima velocidad, después más lento, nunca se corta.

Más para leer: el formato de número de teléfono E.164, limpiar números de teléfono en un CSV.

Preguntas frecuentes

¿Cómo extraigo números de teléfono de un texto?

Pega el texto en el extractor de números de teléfono, elige el país al que pertenecen la mayoría de los números locales y pulsa Extract numbers. Obtienes cada número una sola vez en E.164, con descarga en CSV.

¿Por qué no usar simplemente una regex?

Un patrón de dígitos también coincide con fechas, precios e IDs de pedido, y se corta en los paréntesis. libphonenumber comprueba cada coincidencia con el plan de numeración del país.

¿Puede leer números de otros países en el mismo texto?

Los números escritos con un prefijo de país + se leen correctamente. Los números locales sin prefijo se leen como del país por defecto, así que procesa un texto mixto una vez por país.

¿Comprueba que los números funcionan?

No. Solo comprueba el formato y el plan de numeración. Usa un validador de teléfonos o una consulta en vivo para comprobar el tipo de línea y el operador.

Verifica correos por 39,00 USD/mes, sin cortes

Comprobación SMTP real del buzón. Sin créditos ni cobro por correo.

Empezar

Leer el original en inglés