• После обновления Windows на ноутбуке перестала заряжаться батарея. Как исправить?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    "Фамилия" ноутбука?
    Возраст ноутбука?
    После 3 лет с батареей может быть всё, что угодно. Вплоть до того, что со вставленной батареей ноут не включается.
    Со временем некоторые адаптеры питания "поддыхают" - у них уже не хватает сил и питать включенный ноут, и заряжать батарею. Заряжают батарею только в выключенном или спящем ноуте.
    1. Выключите ноут.
    2. Отключите зарядное, Выньте батарею.
    3. Подождите с полчаса, вставьте батарею, подключите зарядное не включая ноут.
    4. Лампочка заряда загорелась? Ждите пару часов.
    5. Включите ноут, смотрите что с зарядом батареи.
    6. Одолжите аналогичное исправное зарядное - как с ним работает?
    Делайте выводы, принимайте меры, меняйте неисправное.
    Или, как рекомендует Вечно Голодный - сразу в сервис.
    Ответ написан
    5 комментариев
  • Как идентифицировать клиента в интернет-рекламе?

    AntonKravchenko
    @AntonKravchenko
    если он сам оставит контакты в форме подписки, заявки и т.п., тогда сможете связать. Пока не оставил - вряд ли
    Ответ написан
    Комментировать
  • Как передать массив с настройками из config.php в index.php?

    @lubezniy
    Так же и проделать. Задать массив в конфиге, к индексу прицепить конфиг. Если к конфигу предполагается обращаться из функций, нужно проставлять в начале функции директиву global с указанием имени переменной-массива.
    Ответ написан
    Комментировать
  • Использование PDO для MongoDB?

    gubin_niko
    @gubin_niko
    Понимаю, что прошло много времени, но вдруг пригодится ;-)
    mongodb.github.io/mongo-php-library

    Указанный выше MongoClient, к примеру, пока не работает на php 7, если это важно
    Ответ написан
    1 комментарий
  • Нужна литература, статьи или сайты о парсинге сайтов на PHP (да и в целом о парсинге)?

    @Silm
    В названии диплома все же не хватает слова "Разработка универсального парсера сайтов на языке PHP".
    И слово "универсальный" думаю окажется лишним )

    Литературу на эту тему вряд ли найдете, статьи разрознены и разного качества. Ищите пробуйте. Очень рекомендую попробовать написать несколько парсеров на других языках. Посмотрите как работает библиотека Grаb для Python. Ее принципы можно перенести для PHP.

    Немного общей инфы по теме

    В целом парсинг сайтов состоит из примерно следующих этапов:
    • Анализ сайта: определение структуры сайта и шаблона данных и, на этом этапе полезным бывает изучить файл роботс, xml карту сайта, поиск по сайту, выдачу поисковиков для сайта.
    • Подготовка выражений (xpath или css селекторв) для получения необходимых данных со страниц.
    • Написание и отладка парсера.


    Сам парсер может состоять из следующих частей:
    • Краулер. Используя какие то правила проходит по страницам, собирает ссылки, может отправлять страницы сразу на парсинг (в очередь на парсинг) или просто выгружать и сохранять их целиком.
    • Парсеры. Блоки отвечающие за вытаскивание конкретных данных и их преобразование в нужный формат.
    • Вспомогательные сервисы, отвечают за разбор HTML DOM, кеширование, HTTP запросы, обход защиты от парсинга, сохранение данных в нужном формате и тп.


    Для разбора HTML используются библиотеки (пример https://github.com/Imangazaliev/DiDOM ). Регулярками HTML не разбирают, но тоже, конечно применяют для разбора других данных.
    Иногда требуется исполнять JS, например с помощью PhantomJS.
    Для обхода капчи прибегают к услугам сервесов типа антигейт / антикапча.
    Порой требуется авторизовываться или обходить защиту построенную на cookies.
    Для многопоточного парсинга используют multicurl.

    Вообще PHP не самый подходящий язык для парсинга сайтов. Все таки он предназначен для других целей. Python + Grab здесь будет куда удобнее и производительнее. Как, впрочем почти любой десктопный язык имеющий нужные библиотеки.
    Ответ написан
    2 комментария