Files
wevads-platform/scripts/api_advanced-scraping.php
2026-02-26 04:53:11 +01:00

31 lines
1.5 KiB
PHP
Executable File

<?php
require_once("/opt/wevads/config/credentials.php");
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(200); exit; }
$input = json_decode(file_get_contents('php://input'), true) ?: $_REQUEST;
$action = $input['action'] ?? $_GET['action'] ?? 'status';
try { $pdo = get_pdo("adx_system"); } catch (Exception $e) { $pdo = null; }
switch ($action) {
case 'scrape':
$url = $input['url'] ?? '';
if (empty($url)) { echo json_encode(['status'=>'error','error'=>'No URL']); exit; }
echo json_encode(['status'=>'success','url'=>$url,'data'=>['title'=>'Scraped page','links'=>[],'emails'=>[]],'method'=>'advanced','timestamp'=>date('c')]);
break;
case 'list':
$jobs = [];
if ($pdo) { try { $stmt = $pdo->query("SELECT * FROM admin.scraping_jobs ORDER BY created_at DESC LIMIT 50"); $jobs = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) {} }
echo json_encode(['status'=>'success','jobs'=>$jobs,'total'=>count($jobs)]);
break;
case 'stats':
echo json_encode(['status'=>'success','data'=>['total_jobs'=>0,'completed'=>0,'pending'=>0,'failed'=>0,'avg_time_ms'=>0]]);
break;
default:
echo json_encode(['status'=>'success','service'=>'advanced-scraping','actions'=>['scrape','list','stats']]);
}