Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Модуль парсинга с сайта shikimori

Тема в разделе "Модули DLE", создана пользователем alukardua, 23 янв 2018.

23.01.18 в 20:02
05.08.20 в 22:22
93
8.576
4
  1. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    Он парсит с сайта шикимори и мунвалка при обновлении новости
     
  2. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    alukardua мальчик, что за херню ты несешь? Где я забанен на многих форумах?
     
  3. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    ну это твой фейк про который админы забыли))) но основной забанили)))
     
  4. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Это один и тот же аккаунт и никто ни на что не забивал.
     
  5. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    Новая версия парсера
    Переделал поднятие новости, теперь новость поднимается не только при выходе новой серии но и при обновлении релиза на мунвалке
    Теперь если на мунвалке указан ID кинопоиска то происходит подгрузка режиссера и актеров если они указаны
     

    Вложения:

    • dle v2.3.rar
      Размер файла:
      8,5 КБ
      Просмотров:
      20
    • Нравится Нравится x 1
  6. animecre

    animecre Зелёный

    Регистрация:
    24 авг 2018
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Спасибо за модуль. А можете все таки добавить функционал, чтобы он парсил когда добавляешь новость?
     
  7. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    над этим работаю
     
    • Нравится Нравится x 1
  8. animecre

    animecre Зелёный

    Регистрация:
    24 авг 2018
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    О большое спасибо. Будем ждать
     
  9. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    Новая версия парсера
    1. Полностью переделана админка, теперь она смотрится красиво
    2. Расширен функционал обновления названия, метатега и чпу
    3. добавлена в добавлении и редактировании кнопка спарсить с шикимори (парсит по id с шикимори)
    так как это альфа версия в ней пока нет парсинга обложки и скриншотов
    если обнаружите ошибки пишите
     

    Вложения:

    • Нравится Нравится x 1
  10. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    1. Где проверка на админа в engine/ajax ?
    2. Где проверка на хэш юзера в engine/ajax ?
    3. Почему файл называется class и лежит с другими классами но не является классами?
    4. Некоторый код был позаимствован с моего модуля но об этом конечно писать не стоит.
    5. Зачем писать так?
    PHP:
    $fields = array('field_kinopoisk_id'    => array('' => '----'), //id кинопоиск
        
    'field_world_art_id'    => array('' => '----'), //id world-art
        
    'field_shikimori_id'    => array('' => '----'), //id Shikimori
        
    'field_english_name'    => array('' => '----'), //английское название на Shikimori
        
    'field_japan_name'      => array('' => '----'), //японское название на Shikimori
        
    'field_age_limitation'  => array('' => '----'), //возрастное ограничение на Shikimori
        
    'field_release_year'    => array('' => '----'), //год выпуска на Shikimori
        
    'field_release_date'    => array('' => '----'), //дата начала выпуска на Shikimori
        
    'field_expiration_date' => array('' => '----'), //дата завершения выпуска на Shikimori
        
    'field_series_in'       => array('' => '----'), //количество серий на Shikimori
        
    'field_status'          => array('' => '----'), //статус на Shikimori
        
    'field_duration'        => array('' => '----'), //длительность на Shikimori
        
    'field_tip'             => array('' => '----'), //тип на Shikimori
        
    'field_studios_sp'      => array('' => '----'), //озвучивание на moonwalk
        
    'field_studios_rl'      => array('' => '----'), //все озвучки на moonwalk
        
    'field_series_out'      => array('' => '----'), //текущая серия на moonwalk
        
    'field_season_mod'      => array('' => '----'), //форматированный сезон
        
    'field_series_mod'      => array('' => '----')  //форматированная серия
    );

    $all_field xfieldsload();

    if (
    $all_field)
    foreach (
    $all_field as $key => $value)
    {
        
    $fields['field_kinopoisk_id']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_world_art_id']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_shikimori_id']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_english_name']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_japan_name']["{$value[0]}"]      = {$value[1]} ";
        
    $fields['field_age_limitation']["{$value[0]}"]  = {$value[1]} ";
        
    $fields['field_release_year']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_release_date']["{$value[0]}"]    = {$value[1]} ";
        
    $fields['field_expiration_date']["{$value[0]}"] = {$value[1]} ";
        
    $fields['field_series_in']["{$value[0]}"]       = {$value[1]} ";
        
    $fields['field_status']["{$value[0]}"]          = {$value[1]} ";
        
    $fields['field_duration']["{$value[0]}"]        = {$value[1]} ";
        
    $fields['field_tip']["{$value[0]}"]             = {$value[1]} ";
        
    $fields['field_studios_sp']["{$value[0]}"]      = {$value[1]} ";
        
    $fields['field_studios_rl']["{$value[0]}"]      = {$value[1]} ";
        
    $fields['field_series_out']["{$value[0]}"]      = {$value[1]} ";
        
    $fields['field_season_mod']["{$value[0]}"]      = {$value[1]} ";
        
    $fields['field_series_mod']["{$value[0]}"]      = {$value[1]} ";
    }
    Когда это делается так
    PHP:
    $all_xfield xfieldsload();
    $count_all_xfield count($all_xfield);

    $xfield = [];

    $xfield['-'] = '-';
    for (
    $i 0$i $count_all_xfield$i++) {
        
    $xfield[$all_xfield[$i][0]] = $all_xfield[$i][1];
    }

    $xfOptions = [
        
    'field_kinopoisk_id' => 'Дополнительное поле с ID Кинопоиск',
        
    'field_world_art_id' => 'Дополнительное поле с ID world-art',
        
    'field_shikimori_id' => 'Дополнительное поле с ID Shikimori',
        
    'field_english_name' => 'Дополнительное поле с английским названием',
    ];

    foreach (
    $xfOptions as $key => $value) {
        
    showRow(
            
    $value,
            
    '',
            
    makeDropDown($xfield"save_con[opt][{$key}]"$shiki_opt['opt']['field_kinopoisk_id'])
        );
    }
    6. Запись которую ты взял у меня, не сделал проверку на данные
    PHP:
    foreach ($save_con as $index => $item)
    foreach (
    $item as $key => $value)
    {
    $shiki[$index][$key] = $value;
    }
    Где фильтрация? Где безопасность?
    7. Вместо _REQUEST - _POST. Где провека на хэш юзера?
    8. Опять таки взял код и не доделал
    PHP:
    curl_setopt($curlCURLOPT_USERAGENT$config['http_home_url']);
    У тебя переменной config нет в функции, у тебя пустой юзер агент.
    9. Зачем создавать файл с единственным подключением? То есть, у тебя не ведет в какую-то другую директорию где все файлы, а просто ты подключаешь файл внутри этого же каталога, зачем?
    PHP:
    <?php
    require_once ENGINE_DIR '/modules/shikimori/shikimori.php';
    Ну в общем код был явно взят с моего модуля, но править есть еще много чего. Безопасности нет, плохого кода много. Удачи.
     
    • Нравится Нравится x 1
  11. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    Не делай себя семь пядей во лбу, каждый пишет как может, а так как это еще альфа версия он будет дорабатыватся
     
  12. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Ничего себе, я дал советы, указал на ошибки а ты начал дерзить? Мальчик, успокойся и веди себя прилично. А пиздить чужой код, ctrl+c - ctrl+v, не делает из тебя программиста.
     
  13. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    я не дерзил, просто не все твои замечания актуальны
    если посмотриш по внимательнее то это сам модуль подьема новости, переадресацию оставил для совместимости со старой версией модуля
    так мне удобнее
    зачем тут фильтрация, если все происходит в самой админке и сохраняет только в конфиг
     
    • Нравится Нравится x 1
  14. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    1. Ладно, первого я не знал.
    2. Удобней тебе, но не в плане оптимизации кода.
    3. Фильтрация нужна всегда, притом ты используешь var_export без явного приведение к типу число будет считаться за строку. В плане оптимизации и той же безопасности всегда нужно делать фильтрацию, особенно в подобном случае так как var_export этого не делает.
     
  15. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    конфиг у меня и приведен в строку, а безопасность в принцыпе делает сам движок, так как админка выведена не отдельным модулем, а встроена как и все модули движка
     
  16. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    в таком варианте оно будет не долго, в следующих версиях будет переделано
     
  17. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    тогда можно сказать такое про 99% программистов, так как все уже кто то придумал и описал))))
     
  18. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Она не делает проверку на безопасность данных. У тебя записывается открытый массив в конфиг а не строка.
     
  19. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    ну это приму к сведению, посмотрю
    а так это альфа версия то она сыровата
    выложил для отлова всех ошибок работы
     
    • Нравится Нравится x 1
  20. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Регистрация:
    30 апр 2017
    Сообщения:
    104
    Лучших ответов:
    1
    Рейтинги:
    +14 / 0 / -0
    Новая версия
    Исправлена проблема с парсингом с мунвалка при добавлении новости
    Исправлены ошибки статуса релиза и озвучивание при обновлении новости
    и другие известные проблемы самого модуля
     

    Вложения:

Яндекс.Метрика