Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 24 von 24

Thema: xRel Crawler + OMDAPI

  1. #16
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Herzlichen Dank für eure Hilfe.
    Habe es umsetzen können. Sexy !
    Für interessierte hier der Code:

    PHP
    PHP-Code:
    <?php

    $releasename 
    'Creed.Rockys.Legacy.2015.German.DL.1080p.BluRay.AVC-SCiENTOLOGY';

    function 
    get_match($regex$content$pos 1)
    {
        
    /* do your job */
        
    preg_match($regex$content$matches);
        
    /* return our result */
        
    return $matches[intval($pos)];
    }

    function 
    xrelnfo_scene($releasename)
    {

        
    $conf['xrel_qurl'] = 'https://www.xrel.to/search.html?mode=full&xrel_search_query=';
        
    /* do some curl magic */
        
    $headers = array(
            
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        );
        
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL$conf['xrel_qurl'] . $releasename);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_HTTPHEADER$headers);
        
    curl_setopt($chCURLOPT_REFERER"https://www.xrel.to/releases.html");
        
    curl_setopt($chCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']);
        
    $xrel_content curl_exec($ch);
        
    curl_close($ch);
        
    $xrel['nfo'] = @get_match('/<div id="nfo_text" style="padding:10px;  display: none;">.<pre>(.+)<\/pre>.<\/div>/s'$xrel_content);
        return 
    $xrel['nfo'];
    }
    $nfo xrelnfo_scene($releasename);

    echo 
    "

    NFO TEST 1:
    <pre>
    $nfo</pre>

    "
    ;
    Variante: Delphi | Python

    - - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

    Jetzt hätte ich nur noch die Frage, wie man am cleversten die Infos aus dem NFO-Text ausliest.
    Wenn z.B Informationen fehlen wie Größe/Size.
    Gibt es da auch einen speziellen Regex, der zuverlässig ausliest?
    Geändert von Uranjitsu (26.04.2017 um 09:38 Uhr)
    LG - Uranjitsu

  2. #17
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    587
    Gefällt mir!
    110
    Du gefällst: 605
    Sag ich doch, dass es so funktioniert

    Kleine Anmerkung:
    • get_match ist suboptimal, wenn du bei einem Reg-Ex mehrere Positionen möchtest, da der Reg-Ex jedes mal neu ausgewertet werden würde. Solange es (wie hier) nur um einen Treffer geht ist das jedoch okay.
    • du nutzt für die Suche nicht die xREL API sondern die normale Seite. Die Seite kann/darf sich jederzeit ändern oder kann irgendwelche anderen Anti-Bot-Maßnahmen einführen. Die API Endpoints werden sich vermutlich nicht einfach so ändern. Sie haben jedoch aktuell ein Limit von 300 Anfragen pro Stunde und IP. Wenn das Limit nicht stört, dann würde ich auf die API umstellen, denn so kann man unnötige Probleme bei Änderungen umgehen.
    • Accept-Header ist aktuell unnötig, aber auch nicht störend.
    • Du übernimmst den übertragenen User-Agent des Nutzers. Das könnte zu schwer identifizierbaren Problemen führen, wenn xREL den speziellen User-Agent des Nutzers nicht akzeptiert.
    • Etwas Error-Handling würde nicht schaden.


    Die Größe würde ich von xREL übernehmen. Die Daten sind meiner Erfahrung nach sehr sorgsam gepflegt und damit vermutlich besser als irgendwelche Reg-Ex. Um Daten zuverlässig aus NFOs auszulesen muss man etwas feilen um möglichst viele vorkommende Varianten zu unterstützen

  3. #18
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Danke für die Anmerkungen, werde einiges berücksichtigen !
    Das mit dem User-Agent, habe ich aber nicht ganz verstanden. Ist es dabei vom Vorteil einen immer vorgefertigten zu nutzen?
    LG - Uranjitsu

  4. #19
    100% 0-Ahnung Avatar von FLX
    Registriert
    Mar 2015
    Beiträge
    1,669
    Gefällt mir!
    965
    Du gefällst: 1,247
    Naja es minimiert beträchtlich die Fehleranfälligkeit für dein Script
    You are offline
    Try:
    • Don't Panic
    • Look around
    • Interact with reality

  5. #20
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    587
    Gefällt mir!
    110
    Du gefällst: 605
    Wenn ich in meinem Browser den User-Agent auf "Birnensaft/5.0" setze (z.B. weil ich total verrückt bin und komische Dinge mache), dann würde dein Script auf mysteriöse Weise bei mir nicht funktionieren und es wäre relativ unklar warum das so ist

  6. #21
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Welcher wäre denn in diesem Fall am besten?
    Verstehe das Problem an sich schon gar nicht.
    LG - Uranjitsu

  7. #22
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    587
    Gefällt mir!
    110
    Du gefällst: 605
    Du übernimmst den User-Agent des Users. Hat der User einen komischen User-Agent, dann sendest du den an xREL. Wenn xREL sich jetzt nun dazu entscheidet diesen User-Agent nicht zu mögen, dann geht beim User dein Script nicht.
    Ich würde einfach den User-Agent des aktuellen FF/Chrome nutzen, da der aktuell relativ plausibel sein dürfte.

  8. Diesen Mitgliedern gefällt dieser Beitrag:


  9. #23
    Senior Avatar von zerox
    Registriert
    Oct 2015
    Beiträge
    233
    Gefällt mir!
    57
    Du gefällst: 183
    Zitat Zitat von Uranjitsu Beitrag anzeigen
    Jetzt hätte ich nur noch die Frage, wie man am cleversten die Infos aus dem NFO-Text ausliest.
    Wenn z.B Informationen fehlen wie Größe/Size.
    Gibt es da auch einen speziellen Regex, der zuverlässig ausliest?
    Hab ein Regex geschrieben der hat bei 90% der mir jetzt getestetn NFOs funktioniert.

    RegEx: /(SiZE(\D+)(\d*[,;.]?\d{1,6})\s*(KB|MB|GB))|(RUNTiME(\D+))((\d{1,3})\s *(Minuten|min))/ig
    Beispiel: https://regex101.com/r/RkyR9I/2

    EDIT: er matcht auf Größe und Laufzeit.
    ~~ DEVELOPER ~~

    Kontakt zu mir: Contact Me

  10. Diesen Mitgliedern gefällt dieser Beitrag:


  11. #24
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    587
    Gefällt mir!
    110
    Du gefällst: 605
    Hab jetzt nicht genau geschaut, aber folgendes fehlt bei dir z.B.: Binärpräfixe bei der Größe, Angabe der Größe in Parts (z.B. 25x50mb), Length, Duration, Dauer, Groesse

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. (PHP) - PHP xrel Crawler (Bietemaker)
    Von Lemonice1 im Forum Entwicklung / Programmierung
    Antworten: 9
    Letzter Beitrag: 18.03.2026, 11:27
  2. xRel Crawler
    Von Professor Chaos im Forum IntelligeN
    Antworten: 3
    Letzter Beitrag: 20.01.2022, 23:04
  3. Crawler Probleme
    Von schneewittchen im Forum IntelligeN
    Antworten: 31
    Letzter Beitrag: 25.10.2021, 21:08
  4. (BASH) - Crawler IMDB-ID by Release-Name / Dirname xrel.to srrdb.com
    Von syrius im Forum Entwicklung / Programmierung
    Antworten: 2
    Letzter Beitrag: 14.07.2019, 20:36
  5. (PHP) - Bietemaker /Xrel Crawler
    Von hOOkz im Forum Entwicklung / Programmierung
    Antworten: 0
    Letzter Beitrag: 15.12.2017, 21:47

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org