Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

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

Discussion in 'Модули DLE' started by alukardua, Jan 23, 2018.

23.01.18 в 20:02
05.08.20 в 22:22
93
9,597
4
  1. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    Он парсит с сайта шикимори и мунвалка при обновлении новости
     
  2. PunPun

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -0
    alukardua мальчик, что за херню ты несешь? Где я забанен на многих форумах?
     
  3. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    ну это твой фейк про который админы забыли))) но основной забанили)))
     
  4. PunPun

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -0
    Это один и тот же аккаунт и никто ни на что не забивал.
     
  5. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    Новая версия парсера
    Переделал поднятие новости, теперь новость поднимается не только при выходе новой серии но и при обновлении релиза на мунвалке
    Теперь если на мунвалке указан ID кинопоиска то происходит подгрузка режиссера и актеров если они указаны
     

    Attached Files:

    • Нравится Нравится x 1
  6. animecre

    animecre Зелёный

    Joined:
    Aug 24, 2018
    Messages:
    4
    Best Answers:
    0
    Ratings:
    +0 / 0 / -0
    Спасибо за модуль. А можете все таки добавить функционал, чтобы он парсил когда добавляешь новость?
     
  7. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    над этим работаю
     
    • Нравится Нравится x 1
  8. animecre

    animecre Зелёный

    Joined:
    Aug 24, 2018
    Messages:
    4
    Best Answers:
    0
    Ratings:
    +0 / 0 / -0
    О большое спасибо. Будем ждать
     
  9. TopicStarter Overlay
    alukardua

    alukardua Бывалый

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

    Attached Files:

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

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -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 Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    Не делай себя семь пядей во лбу, каждый пишет как может, а так как это еще альфа версия он будет дорабатыватся
     
  12. PunPun

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -0
    Ничего себе, я дал советы, указал на ошибки а ты начал дерзить? Мальчик, успокойся и веди себя прилично. А пиздить чужой код, ctrl+c - ctrl+v, не делает из тебя программиста.
     
  13. TopicStarter Overlay
    alukardua

    alukardua Бывалый

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

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -0
    1. Ладно, первого я не знал.
    2. Удобней тебе, но не в плане оптимизации кода.
    3. Фильтрация нужна всегда, притом ты используешь var_export без явного приведение к типу число будет считаться за строку. В плане оптимизации и той же безопасности всегда нужно делать фильтрацию, особенно в подобном случае так как var_export этого не делает.
     
  15. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    конфиг у меня и приведен в строку, а безопасность в принцыпе делает сам движок, так как админка выведена не отдельным модулем, а встроена как и все модули движка
     
  16. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    в таком варианте оно будет не долго, в следующих версиях будет переделано
     
  17. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    тогда можно сказать такое про 99% программистов, так как все уже кто то придумал и описал))))
     
  18. PunPun

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

    Joined:
    Jun 11, 2015
    Messages:
    7,412
    Best Answers:
    32
    Ratings:
    +4,034 / 116 / -0
    Она не делает проверку на безопасность данных. У тебя записывается открытый массив в конфиг а не строка.
     
  19. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    ну это приму к сведению, посмотрю
    а так это альфа версия то она сыровата
    выложил для отлова всех ошибок работы
     
    • Нравится Нравится x 1
  20. TopicStarter Overlay
    alukardua

    alukardua Бывалый

    Joined:
    Apr 30, 2017
    Messages:
    104
    Best Answers:
    1
    Ratings:
    +14 / 0 / -0
    Новая версия
    Исправлена проблема с парсингом с мунвалка при добавлении новости
    Исправлены ошибки статуса релиза и озвучивание при обновлении новости
    и другие известные проблемы самого модуля
     

    Attached Files:

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