Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 24

Thema: xRel Crawler + OMDAPI

  1. #1
    Senior Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158

    xRel Crawler + OMDAPI

    Grüßt Euch,

    ich versuche verzweifelt die NFO (txt) zu extrahieren, aber leider ohne Erfolg.
    Alles andere funktioniert, nur ich komme nicht an die NFO - Jedenfalls über diesen Weg.
    Hat jemand eine Idee? Hier der Code:

    PHP-Code:
    <?php
    // Lade Release
    $url1 file_get_contents('https://www.xrel.to/search.html?mode=full&xrel_search_query=The.Purge.Anarchy.2014.MULTi.COMPLETE.BLURAY-XORBiTANT');

    // Hole die Info-Seite
    preg_match('!<div class="article">.<p class="article_text" style="width:690px">(.+)<a href="(.+)">weiter...</a></p>!iUm'$url1$xrel_rl_url);
    $xrel_rl_url $xrel_rl_url[2];

    // Hole NFO
    preg_match('!<div id="nfo_text" style=".*"><pre>(.+)</pre></div>!isUm'$url1$xrel_nfo);
    $xrel_nfo[1] = str_replace("\n",'<br />'$xrel_nfo[1]);   
    $pattern '!<(.*)>!isUm'
    $replace ''
    $nfo preg_replace($pattern$replace$xrel_nfo[1]); 

    // Lade die Info-Seite
    $url2 file_get_contents('https://www.xrel.to' $xrel_rl_url);

    // URI extrahieren
    preg_match('!<div class="box_list2"> <img src="//static.xrel.to/static/img/icons/link.png" alt="IMDb.com" /> </div>.<div class="box_list2_right" style="text-align:right;"> <a href="(.+)" title="(.+)">IMDb.com</a> </div>!iUm'$url2$uri);
    $uri str_replace('http://www.imdb.com/title/'''$uri[2]);

    // Weitergabe und Suche für OMDAPI
    $tmdb file_get_contents('http://www.omdbapi.com/?i=' $uri '&plot=short&r=json');
    $opt json_decode($tmdb);
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>6</title>
    </head>

    <body>
    Url: <?php
    echo $xrel_rl_url?><br />
    NFO:<br />
    <pre><?php
    echo $nfo?></pre><br />
    Uri: <?php
    echo $uri?><br /> <br /> <br />

    <?php
    echo '
                  <div class="row">
                    <center>
                      <h1>' 
    $opt->Title '</h1><br />
                      <div class="col-md-6">
                        <img src="' 
    $opt->Poster '" class="img-rounded">
                      </div>
                      <div class="col-md-6">
                        <b>Jahr:</b> ' 
    $opt->Year ' <br />
                        <b>Veroeffentlichung:</b> ' 
    $opt->Released ' <br />
                        <b>Laufzeit:</b> ' 
    $opt->Runtime ' <br />
                        <b>Genre:</b> ' 
    $opt->Genre ' <br />
                        <b>Regisseur:</b> ' 
    $opt->Director ' <br />
                        <b>Schreiber:</b> ' 
    $opt->Writer ' <br />
                        <b>Schauspieler:</b> ' 
    $opt->Actors ' <br />
                        <b>Beschreibung:</b> ' 
    $opt->Plot ' <br />
                        <b>Sprache:</b> ' 
    $opt->Language ' <br />
                        <b>Land:</b> ' 
    $opt->Country ' <br />
                        <b>Auszeichnungen:</b> ' 
    $opt->Awards ' <br />
                      </div>
                    </center>                              
                  </div>
                  '
    ;
    ?>
    </body>
    </html>

  2. Werbung - Hier werben?
  3. #2
    100% 0-Ahnung Avatar von FLX
    Registriert
    Mar 2015
    Beiträge
    1,647
    Gefällt mir!
    949
    Du gefällst: 1,244
    Mach mal einen Dump von deinem file_get_contents(). Die Nfo als Text ist da garnicht enthalten sondern nur die Bildanzeige.
    You are offline
    Try:
    • Don't Panic
    • Look around
    • Interact with reality

  4. Diesen Mitgliedern gefällt dieser Beitrag:


  5. #3
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158
    Gerade getestet, dass stimmt.
    Hast du denn auch eine Idee das die Textanzeige angezeigt wird?

  6. #4
    100% 0-Ahnung Avatar von FLX
    Registriert
    Mar 2015
    Beiträge
    1,647
    Gefällt mir!
    949
    Du gefällst: 1,244
    Das ist, wenn ich mich recht erinnere, seitens Xrel unerwünscht und geht auch mit der API nicht.
    Du könntest höchstens mit einem Curl Handler ein Login forcieren und dann die NFO grabben.
    Das ist zumindestens das einzige was mir gerade einfällt.

    Wobei wenn du eh den Releasenamen hast dann crawl dir die NFO von irgendwelchen PREDBs
    das ist glaub ich einfacher und schneller umzusetzen.
    You are offline
    Try:
    • Don't Panic
    • Look around
    • Interact with reality

  7. #5
    Senior
    Registriert
    May 2015
    Beiträge
    719
    Gefällt mir!
    323
    Du gefällst: 370
    Bevor die auf HTTPS umgestellt haben, konnte intelligen die NFO auch als Text auslesen. Kannst ja dort mal im Source Code nachschauen, der ist meines Wissens öffentlich zugänglich.

  8. #6
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158
    Ich habe mich für eine PREDB entschieden, nach FLX´s Vorschlag.
    Scheint nun alles zu funktionieren inkl. NFO.

    LG

  9. #7
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158
    Ich wollte das Thema nochmal aufgreifen:

    Die NFO bei P2P-Releases zu bekommen, ist ja kein Problem. Bei den Scene-Releases aber schon.
    Wenn man ein Scene-Release direkt aufruft, bleibt die "Textanzeige" aus. Mit einem Klick auf "NFO Ansehen", ladet die Seite nach und die "Textanzeige" ist vorhanden.
    Der Link: - Das was wichtig ist, ist hier rot markiert -
    Code:
    <a href="/movie-nfo/1321554/Creed-Rockys-Legacy-2015-German-DL-1080p-BluRay-AVC-SCiENTOLOGY.html" class="view_nfo">NFO ansehen</a>
    Ich habe dann versucht eine Idee umzusetzen:
    Mit "preg_replace" die .*js und .*css Datei(en) zu überschreiben und mit eigenen bzw. bearbeiteten zu ersetzen. (Funktioniert)
    Nun geht es darum, die notwendigen Deklarationen, welche dafür sorgen das "Textanzeige" auf "hide" steht, eben umzukehren.
    Ich habe es nun etliche male versucht, aber ich gehe davon aus, dass es via Ajax geladen wird.

    Eine andere Idee wäre:
    Die Seite zu laden und eine Art Klick-Simulation auf den oben gezeigten Link auszuführen und die Seite dementsprechend nochmal nachladen. In wie weit das möglich ist, weis ich nicht. Denn hier muss ja die "class="view_info" angesprochen werden, die ja den entscheidenden Impulse gibt.

    Keine Ahnung ob man die Seite im iFrame laden- und die Daten dann abfangen kann und wie sich das mit einer Klick-Simulation verhält.

    Das sind eben nur Ideen, eventuell hat jemand von euch ebenfalls Lust, eine Möglichkeit zu finden. Es wäre ja egal wie umfangreich das ganze ist. Mich stört es, da ich auch gerade SSBG komplett umbaue und vor allem den MovieXrel Generator aufgemotzt habe, aber eben an diese Scene-NFOS nicht komme. Und z.B Layer13, hat nicht jede NFO parat. Und eine PNG2TEXT OCR Methode, ist mega unzuverlässig.

    In diesem Sinne
    LG - Uranjitsu
    Simple Szene BBcode Generator ( TOT :/ )

    [CODESCHNIPSEL]

  10. #8
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Die Antwort ist eigentlich simpel

    Code:
    https://www.xrel.to/p2p/166883-Futureworld-Das-Land-von-Uebermorgen-1976-GERMAN-AC3-HDrip-x264-Z3BR4/nfo.html
    Du musst nur die Url richtig bauen, sobald du über der BildNfo das Wort "Textanzeige" hast steht im Quelltext auch die Nfo als Text.

    Da es Sinnfrei aber technisch machbar ist, kannst du das Bild(png) auch laden und an
    Code:
    http://www.free-ocr.com/de.html
    senden.
    Dann bekommst du von dort den Text/Nfo.

    Ein Beispiel wie du simpel dran kommst für den Browser (chrome z.B.)
    Code:
    https://www.xrel.to/search.html?xrel_search_query=Futureworld.-.Das.Land.von.Uebermorgen.-.1976.GERMAN.AC3.HDrip.x264-Z3BR4
    Schon kannst du ganz gedigen den Quelltext parsen.
    Geändert von 1stAid (25.04.2017 um 11:07 Uhr)

  11. #9
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158
    An die P2P Release- NFO zu kommen ist ja auch kein Problem, wie oben geschrieben.
    Es geht um die SCENE-Releases, wie dieses hier als Beispiel:
    Code:
    https://www.xrel.to/movie-nfo/1321554/Creed-Rockys-Legacy-2015-German-DL-1080p-BluRay-AVC-SCiENTOLOGY.html
    LG - Uranjitsu
    Simple Szene BBcode Generator ( TOT :/ )

    [CODESCHNIPSEL]

  12. #10
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    561
    Gefällt mir!
    96
    Du gefällst: 573
    Der NFO-Text steht doch völlig unabhängig vom CSS/JS immer im Quelltext?

    EDIT: Ne wohl doch nicht. Ich bin blöd
    EDIT2: User-Agent und Referer plausibel setzen scheint zu genügen um oben genannten Zustand herbeizuführen.
    Geändert von Nimbus (25.04.2017 um 18:28 Uhr)

  13. #11
    Senior
    THEMENSTARTER

    Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    207
    Gefällt mir!
    223
    Du gefällst: 158
    @Nimbus, welcher Zustand?

    Nochmal, es gibt Unterschiede bei "P2P" und "SCENE".
    Bei P2P ist das Auslesen der NFO(TEXT) kein Problem.
    Bei SCENE geht das nicht so einfach, da muss das
    Code:
    <a href="#" class="show_nfo">#</a>
    genutzt werden.

    Die Links zwischen P2P und SCENE unterscheiden sich ebenfalls.

    P2P
    Code:
    https://www.xrel.to/p2p/166883-Futureworld-Das-Land-von-Uebermorgen-1976-GERMAN-AC3-HDrip-x264-Z3BR4/nfo.html
    SCENE
    Code:
    https://www.xrel.to/movie-nfo/1321554/Creed-Rockys-Legacy-2015-German-DL-1080p-BluRay-AVC-SCiENTOLOGY.html
    Zitat Zitat von Uranjitsu Beitrag anzeigen
    Ich wollte das Thema nochmal aufgreifen:

    Die NFO bei P2P-Releases zu bekommen, ist ja kein Problem. Bei den Scene-Releases aber schon.
    Wenn man ein Scene-Release direkt aufruft, bleibt die "Textanzeige" aus. Mit einem Klick auf "NFO Ansehen", ladet die Seite nach und die "Textanzeige" ist vorhanden.
    Der Link: - Das was wichtig ist, ist hier rot markiert -
    Code:
    <a href="/movie-nfo/1321554/Creed-Rockys-Legacy-2015-German-DL-1080p-BluRay-AVC-SCiENTOLOGY.html" class="view_nfo">NFO ansehen</a>
    Ich habe dann versucht eine Idee umzusetzen:
    Mit "preg_replace" die .*js und .*css Datei(en) zu überschreiben und mit eigenen bzw. bearbeiteten zu ersetzen. (Funktioniert)
    Nun geht es darum, die notwendigen Deklarationen, welche dafür sorgen das "Textanzeige" auf "hide" steht, eben umzukehren.
    Ich habe es nun etliche male versucht, aber ich gehe davon aus, dass es via Ajax geladen wird.

    Eine andere Idee wäre:
    Die Seite zu laden und eine Art Klick-Simulation auf den oben gezeigten Link auszuführen und die Seite dementsprechend nochmal nachladen. In wie weit das möglich ist, weis ich nicht. Denn hier muss ja die "class="view_info" angesprochen werden, die ja den entscheidenden Impulse gibt.

    Keine Ahnung ob man die Seite im iFrame laden- und die Daten dann abfangen kann und wie sich das mit einer Klick-Simulation verhält.

    Das sind eben nur Ideen, eventuell hat jemand von euch ebenfalls Lust, eine Möglichkeit zu finden. Es wäre ja egal wie umfangreich das ganze ist. Mich stört es, da ich auch gerade SSBG komplett umbaue und vor allem den MovieXrel Generator aufgemotzt habe, aber eben an diese Scene-NFOS nicht komme. Und z.B Layer13, hat nicht jede NFO parat. Und eine PNG2TEXT OCR Methode, ist mega unzuverlässig.

    In diesem Sinne
    LG - Uranjitsu
    Simple Szene BBcode Generator ( TOT :/ )

    [CODESCHNIPSEL]

  14. #12
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    561
    Gefällt mir!
    96
    Du gefällst: 573
    Der Text der NFO taucht im HTML auf. Bei P2P-Releases ist das interessante Div (id=nfo_text) direkt da. Bei Scene-Releases müssen (mindestens?) die besagten Bedingungen geschaffen werden, damit es auftaucht.

  15. #13
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Seit der letzten Umstellung vonxREL brauchst du es bei neuen Einträgen nicht mehr, wenn du den Suchlink so nimmst wie oben beschrieben, geht es mit allen neuen Einträgen.

    Bei den älteren nfo
    nimmst du dir ein HTMLDocument2 und führst den Link mit innerhtml "NFO ansehen" aus.
    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
    auch danach hast du die im Quelltext die Nfo als text.
    in Delphi sieht es so aus, ev hilft es dir.

    Code:
    var
     HTMLDocument2: IHTMLDocument2;
     Element: IHTMLElement;
     I: Integer;
    begin
      Result:= False;
      HTMLDocument2 := EB.Document as IHTMLDocument2;
    for I := 0 to HTMLDocument2.Links.Length - 1 do
      begin
      Element := HTMLDocument2.Links.Item(I, 0) as IHTMLElement;
    
      if TRegEx.IsMatch(Element.GetAttribute('innerText', 0),LinkText,[roIgnoreCase,roSingleLine]) then
        begin
          Element.click;
          Result := True;
          Break;
        end;
      end;
    end;

  16. Diesen Mitgliedern gefällt dieser Beitrag:


  17. #14
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    561
    Gefällt mir!
    96
    Du gefällst: 573
    Das hantieren mit simulierten Klicks aus Links dürfte komplett unnötig sein. Durch die Notwendigkeit eines "Browsers" der "klicken" kann ist das mit PHP auch nicht unbedingt möglich.

  18. Diesen Mitgliedern gefällt dieser Beitrag:


  19. #15
    Junior Avatar von pythonfreak
    Registriert
    Apr 2017
    Beiträge
    112
    Gefällt mir!
    50
    Du gefällst: 61
    Hab von PHP nicht so Ahnung, aber falls es wem hilft hier in python (Python 2.7.13). NFO von xrel holen, imdb url auslesen und omdbapi. Ohne User-Agent und Referer kommt man wohl nicht an die NFO als Text...
    Syntax: xrel.py Releasename
    PHP-Code:
    ## -*- coding: utf-8 -*-

    import urllib2
    import sys
    from bs4 import BeautifulSoup 
    import json

    #xrel oeffnen und nfo laden

    xrel_url "https://www.xrel.to/search.html?mode=full&xrel_search_query=" sys.argv[1]
    req urllib2.Request(xrel_url)
    req.add_header('Accept''text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
    req.add_header('User-Agent''Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36')
    req.add_header('Referer''https://www.xrel.to/releases.html')
    req.add_header('Cookie''notice_understood=1')
    resp urllib2.urlopen(req)
    content resp.read()
    soup BeautifulSoup(content)
    nfotext soup.find("div", {"id""nfo_text"})
    nfotext nfotext.text
    print nfotext
    print '\n'

    #imdb url auslesen

    if 'imdb' in nfotext:
        
    imdb_id nfotext.split("/title/")[-1].split("/")[0].split(" ")[0]
    print 
    imdb_id
    print '\n'

    #omdbapi

    url "http://www.omdbapi.com/?i=" imdb_id
    data 
    json.load(urllib2.urlopen(url))
    try:
        
    title data["Title"]
    except KeyError
        
    title ""
    try:
        
    year data["Year"]
    except KeyError
        
    year ""
    try:
        
    genre data["Genre"]
    except KeyError
        
    genre ""
    try:
        
    runtime data["Runtime"]
    except KeyError
        
    runtime ""
    try:
        
    rating data["imdbRating"]
    except KeyError
        
    rating ""
    try:
        
    votes data["imdbVotes"]
    except KeyError
        
    votes ""
    try:
        
    director data["Director"]
    except KeyError
        
    director ""
    try:
        
    writer data["Writer"]
    except KeyError
        
    writer ""
    try:
        
    actors data["Actors"]
    except KeyError
        
    actors ""
    try:
        
    poster data["Poster"]
    except KeyError
        
    poster ""
    try:
        
    country data["Country"]
    except KeyError
        
    country ""

    #Ausgabe

    print "Title: " title
    print "Cover: " poster
    print "Genre: " genre
    print "Land/Jahr: " country "/" year
    print "Laufzeit: " runtime
    print "Rating: " rating "/" "10" " (" votes " Votes" +")"
    print "Regie: " director
    print "Drehbuch: " writer
    print "Darsteller: " actors 

  20. Diesen Mitgliedern gefällt dieser Beitrag:


Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. xRel Crawler
    Von Professor Chaos im Forum IntelligeN
    Antworten: 3
    Letzter Beitrag: 20.01.2022, 23:04
  2. Crawler Probleme
    Von schneewittchen im Forum IntelligeN
    Antworten: 31
    Letzter Beitrag: 25.10.2021, 21:08
  3. (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
  4. (PHP) - PHP xrel Crawler (Bietemaker)
    Von Lemonice1 im Forum Entwicklung / Programmierung
    Antworten: 5
    Letzter Beitrag: 26.05.2019, 12:24
  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