JavaScript

Angular курс

0

За всички, които ще включат “Become an Angular Master” в новогодишните си цели, в средата на януари ще стартира курс, който ще обхване теми като: как да създаваш среден по големина проект от нулата, как да решаваш практически проблеми и кои са най-добрите практики с Аngular. Лекторът е един от най-добрите Angular професионалисти в България и има практически опит в ръководенето на проекти в сферата.
Повече инфо в линка https://devtalks.bg/

fb_post

Share

AjaXplorer – уеб базиран инструмент за управление на файлове

0

ajaxplorer Наскоро открих един много полезен уеб базиран инструмент с отворен код – AjaXplorer. Както подсказва името му, базиран е изцяло на AJAX.

AjaXplorer е инструмент, с чиято помощ могат да се добавят, изтриват и модифицират файлове съхранени на сървър чрез уеб браузър.

Дава възможност на потребители или администратори на уеб приложение да работят с файлове директно на сървъра чрез комплексен и удобен GUI. Подходящ е когато, например, ежедневно трябва да се добавят нови изображения в галерия от потребители, които нямат директен достъп до сървъра, където се хоства проектът. Ползвала съм го заедно със Zend Framework за администриране на изображения, които се добавят на страници с различни видове продукти.

Използвнето на AjaXplorer по нищо не се различава от стандартен файлов браузър. Освен това, потребителите могат да променят файлове без дори да им се налага да ги копират на локалната си машина.

С инструмента могат да се правят също и следните операции:

– инсталиране на приложението на сървър или облачна платформа;

– лесен достъп чрез мобилни устройства;

– синхронизиране на файлове на сървъра с техни копия на локално устройство – компютър, таблет и др.;

– администриране чрез създаване на потребители, предоставяне на права и използване на Plugin-и;

– споделяне на документи с други участници в общ проект.

AjaXplorer може да бъде инсталиран сравнително лесно и бързо на Linux, Windows и Mac машини.

 

Share

Web Crawlers

0

web-crawlerНалагало ли ви си е да търсите дадена ключова дума в някой оргомен уеб сайт с много страници и съдържание?

Едно радио преди време беше обявило игра, при която трябваше да се търси страница, на която има написанa опрелена ключова дума. Задачата беше лесна за обикновен потребител, който трябваше да отдели 15-20 минути, за да обходи основните страници на сайта, докато намери търсения текст. Но аз реших да си го направя по малко по-интересен начин като си напиша мой си скрипт, който играе ролята на web crawler.

Реших да използвам PHP и CURL за целта. Първо изкарах всички страници на уебсайта под формата на XML Sitemap. Реших да сложа и малък timeout, все пак да не товаря сайта прекалено. В случая се взема под внимание, че XML файлът е в същата директория, където е и самията скрипт. Ето го и решението:

$xml = simplexml_load_file('web-urls.xml');

$timeout = 5;
$stringToSearch = 'String to search';

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

foreach ($xml->url as $obj) {
    curl_setopt($ch, CURLOPT_URL, $obj->loc);
    $fileContents = curl_exec($ch);

    $find = strpos($fileContents, trim($stringToSearch));
    if ($find !== false) {
        echo 'Found in: ' . $obj->loc . '<br />';
    }
}

curl_close($ch);

Естествено, има и по-добри решения, това е само един от многото варианти.

Другият, “паяк”, който искам да ви покажа е Crawler, който е написан на Node.js и работи доста бързо. За да го ползвате трябва да имате инсталиран Node.js, както и самият Crawler. Ето и един примерен код, с който можете да обхождате всички линкове на даден уебсайт:

var Crawler = require("crawler").Crawler;

var c = new Crawler({
    "maxConnections": 10,
    "callback": function(error, result, $) {
        if (result) {
            var page = result.body;
            var res = page.match(/bechtel/i);
            if (res && res.length > 0) {
                console.log(result.body);
            }
        }

        $("a").each(function(index, a) {
            console.log(a.href);
            c.queue(a.href);
        });
    }
});

c.queue("http://example.com");

При този метод, всеки път когато се намери <a> таг, се прави заявка към този линк и така рекурсивно се обхождат всички налични уеб страници.

Полезен инструмент също е PHP Simple HTML DOM Parser, с който сравнително лесно може да се обхожда DOM с помощта на PHP.

 

Share
Go to Top