Scraper para obtener el listado de empresas del articulo 49-B del CFF publicadas en el DOF
🇲🇽 La documentacion de este proyecto esta en espanol, ya que este es el idioma natural para la audiencia a la que va dirigido.
Esta herramienta se conecta usando Guzzle como cliente HTTP al Diario Oficial de la Federacion para localizar, en el indice diario de una fecha y edicion dadas, las notas que mencionan "49 Bis" y extraer del anexo de cada una el listado de empresas (RFC y nombre) que ahi se publican.
composer require phpcfdi/sat-49b-scraper<?php
use DateTimeImmutable;
use PhpCfdi\Sat49BScraper\Scraper;
$scraper = Scraper::create();
$companies = $scraper->scrape(new DateTimeImmutable('2026-07-15'), 'MAT');
foreach ($companies as $company) {
echo $company->rfc, ' ', $company->name, PHP_EOL;
}
echo json_encode($companies, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);Scraper::scrape() regresa un arreglo de objetos Company (rfc, name, publishedAt), cada uno
JsonSerializable con el formato {"rfc", "name", "published_at"}.
Si necesitas configurar el cliente HTTP (proxy, timeouts, etc.) puedes construirlo tu mismo con
HttpClientFactory o pasar tu propio GuzzleHttp\ClientInterface a Scraper::create():
use GuzzleHttp\RequestOptions;
use PhpCfdi\Sat49BScraper\HttpClientFactory;
use PhpCfdi\Sat49BScraper\Scraper;
$client = HttpClientFactory::create([
RequestOptions::TIMEOUT => 60,
]);
$scraper = Scraper::create($client);vendor/bin/sat-49b-scraper 2026-07-15 MATImprime el mismo listado de empresas como JSON. El primer argumento es la fecha (cualquier formato
aceptado por DateTimeImmutable, por defecto today) y el segundo la edicion del DOF (MAT o VES,
por defecto MAT).
Services\IndexServicedescargadof.gob.mx/index.phppara el dia y edicion dados y localiza los enlaces anota_detalle.phpcuyo texto menciona "49 Bis".Services\DocumentServicedescarga cada nota y extrae RFC/nombre de las tablas dentro de#DivDetalleNota, descartando filas cuyo RFC no cumple el patron valido.Scraperorquesta ambos servicios y regresa un arreglo deCompany.
Puedes obtener soporte abriendo un ticket en Github.
Esta libreria se mantendra compatible con al menos la version con soporte activo de PHP mas reciente.
| Version | PHP Minima | Nota |
|---|---|---|
| 0.1.0 | 8.4 | 2026-07-16 |
Autor original: Cesar Aguilera cesargnu29@gmail.com.
The phpcfdi/sat-49b-scraper tool is copyright © PhpCfdi
and licensed for use under the MIT License (MIT). Please see LICENSE for more information.