BinaryWorks.it Official Forum
BinaryWorks.it Official Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 eXtreme Movie Manager 8, 9, 10 Forum
 Scripts
 IMDb API & Web Scraping

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
   

T O P I C    R E V I E W
tarzibou Posted - 10 Jun 2023 : 20:30:04
Since the script probably has to be reworked again and again or does not lead to the desired results, I suggest two other approaches to scrape IMDb data:


1. API (fast, but restricted or pricy)

E.g. you can register for free on imdb-api.com (1) and use their REST API for 100 calls per day for free. A further restriction is that there is no method to get alternate titles and perhaps some other information is not available.

But as most information as well as complex searches can be queried, it would be easy to build a small app for it, esp. as there already exists a C# IMDBApiLib (2). Furthermore, the whole community could work together and pay for 1 account which could then be used by all. Thereby, the costs would be reduced dramatically for the single user.

Links:
- (1): https://imdb-api.com
- (2): https://www.nuget.org/packages/IMDbApiLib



2. Web Scraping (slow, but almost all public data can be captured)

Using Visual Studio 2019 with C# .NET (e.g. Standard 2.0 or Framework 4.7.2), you can also scrape all data of those IMDb web pages that are only displayed by clicking on "more". Herefore, you need Selenium.WebDriver (1) and the Selenium.WebDriver.ChromeDriver (2) as NuGet packages. Furthermore the HtmlAgilityPack (3) is useful to parse the HTML document and its nodes.

Links:
- (1): https://www.nuget.org/packages/Selenium.WebDriver
- (2): https://www.nuget.org/packages/Selenium.WebDriver.ChromeDriver
- (3): https://www.nuget.org/packages/HtmlAgilityPack

To execute the clicks on the "more" buttons, you need your own (extension) method:

using OpenQA.Selenium;
using System;
using System.Threading;

namespace MyNameSpace {
  public static partial class Extensions {
    #region --- safe click ----------------------------------------------------------------
    public static void SafeClick(this IWebElement element, int intervalInMilliseconds = 25, int timeoutInMilliseconds = 200) {
      bool success = false;
      int  counter = 0;
      while (!success && counter < timeoutInMilliseconds) {
        try {
          Thread.Sleep(TimeSpan.FromMilliseconds(intervalInMilliseconds));
          element.Click();
          success = true;
          return;
        } catch (Exception ex) {
          counter += intervalInMilliseconds;
        }
      }
    }
    #endregion
  }
}}


Working code example for scraping an IMDb page and parse some content:

using HtmlAgilityPack;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;

namespace MyNameSpace {
  public static class IMDbScraper {
    public static HtmlDocument ScrapeIMDbPage(string imdbID) {
      // --- create Selenium service and driver ----------------------------------------------------------
      ChromeDriverService driverService = ChromeDriverService.CreateDefaultService();
      driverService.HideCommandPromptWindow = true;

      ChromeOptions chromeOptions = new ChromeOptions();
      chromeOptions.AddArguments(
        "--blink-settings=imagesEnabled=false"
      );
      chromeOptions.AddUserProfilePreference("profile.managed_default_content_settings.images", 2);
      chromeOptions.AddUserProfilePreference("profile.default_content_setting_values.images", 2);
      IWebDriver driver = new ChromeDriver(driverService, chromeOptions);

      // --- call url in Selenium browser ----------------------------------------------------------------
      string url = String.Format("https://www.imdb.com/title/{0}/companycredits/", imdbID); // e.g. sub page companycredits
      driver.Navigate().GoToUrl(url);

      // --- find and click on any "more" buttons --------------------------------------------------------
      IReadOnlyCollection<IWebElement> elements = driver.FindElements(By.ClassName("ipc-see-more__text"));

      if (elements != null) {
        IJavaScriptExecutor javaScript = (IJavaScriptExecutor)driver;
        bool doIt = true;
        foreach (WebElement element in elements) {
          if (doIt) {
            try {
              if (element.Location.Y > 100) {
                string script = String.Format("window.scrollTo({0}, {1})", 0, element.Location.Y - 200);
                javaScript.ExecuteScript(script); // execute JavaScript to scroll to the button
              }

              element.SafeClick(); // element.Click() is buggy and crashes, therefore we use our extension method
              doIt = false;
            } catch { }
          } else {
            doIt = true;
          }
        }
      }

      // --- get body as HtmlDocument for further HtmlAgilityPack parsing --------------------------------
      HtmlDocument result = new HtmlDocument();
      result.LoadHtml(driver.FindElement(By.XPath(@"//body")).GetAttribute("innerHTML"));

      return result;
    }

    public static List<Company> ParseProductionCompanies(HtmlDocument document) {
      List<Company> result = new List<Company>(); // own class: see below

      // --- get node of desired section -----------------------------------------------------------------
      string path = @"//div[@data-testid=""sub-section-production""]";
      HtmlNode node = document.DocumentNode.SelectSingleNode(path);

      // --- parse content -------------------------------------------------------------------------------
      if (node != null) {
        try {
          foreach (HtmlNode entry in node.ChildNodes[0].ChildNodes) {
            if (entry.Name != "li") {
              continue;
            }

            Company company = new Company() {
              Sphere = Sphere.Production // own Enum: see below
            };

            try {
              company.ID = entry.ChildNodes[0]
                                .Attributes["href"]
                                .Value
                                .GetSubstringBetweenStrings("/company/", "?ref"); // own extension method for string: create it yourself ;)

              company.Name = entry.ChildNodes[0].InnerText;
            } catch { }

            try {
              HtmlNode details = entry.ChildNodes[1]
                                      .ChildNodes[0]
                                      .ChildNodes[0];

              try {
                company.Remark = details.ChildNodes[0].InnerText;
              } catch { }
            } catch { }

            result.Add(company);
          }
        } catch { }
      }

      return result;
    }
  }

  public class Company {
    public string Country { get; set; }
    public string ID      { get; set; }
    public string Name    { get; set; }
    public string Remark  { get; set; }
    public Sphere Sphere  { get; set; }
    public int    Year    { get; set; }
  }

  public enum Sphere {
    [Description("Distributor")]
    Distributor,
    
    [Description("Other")]
    Other,

    [Description("Production")]
    Production,
    
    [Description("Special Effects")]
    SpecialEffects
  };
}


Then you can use the parsed content for further processing, e.g. save it to your own database or export it to a file in your desired format (CSV, JSON, Text, XML).
20   L A T E S T    R E P L I E S    (Newest First)
JDommi Posted - 02 Nov 2023 : 07:19:46
@tarzibou

Irgendwo hat sich da wieder mal etwas geändert bei Imdb
Bei den ReleaseDates schmiert der Importer ab und ich finde partout nicht den Fehler.
Könntest du bitte noch mal dein Auge darauf werfen? Habe es auch schon bei GitHub gemeldet.
Übrigens, deine Mailadresse hier im Forum scheint leider nicht zu stimmen...
JDommi Posted - 31 Aug 2023 : 07:23:35
Sorry, Mawu, habe mich gestern damit "verzettelt" herauszufinden, warum die ReleaseDates auf einmal nicht mehr importiert werden. Leider ohne Erfolg. Allerdings ist mir dabei aufgefallen, dass im Importer noch die Rubrik "Wissenswertes" gefehlt hat. Bei irgendeinem Update muss ich wohl vergessen haben, das wieder reinzunehmen. Alles andere funktioniert ohne Probleme bei mir.
Net6.0 hast du ja installiert, darum verstehe ich nicht, warum das Script bei dir nicht funktioniert. Was mir allerdings bei deinem Video aufgefallen ist, dass bei Website irgendein HTML-Code angezeigt wird. Bei mir sehe ich dort den abgespeicherten Text. Hast du den mal kontrolliert, ob hier evtl. schon der Fehler steckt?
Heute Abend werde ich noch mal die neuen Versionen packen und bei Mediafire hochladen. Muss allerdings bis 18 Uhr arbeiten
Mawu Posted - 30 Aug 2023 : 16:45:22
@JDommi

Video ist verfügbar --> siehe PM
JDommi Posted - 29 Aug 2023 : 19:20:54
Zur Not ginge ja auch noch, dass ich mich per TeamViewer bei dir einlogge.
Mawu Posted - 29 Aug 2023 : 19:15:21
Muss für heute mit meinen Tests abbrechen. Mache morgen mal ein Video. Vielleicht findest du dann den Fehler.
JDommi Posted - 29 Aug 2023 : 18:59:37
Was sagt denn die ScriptEngine? Findet die das File nicht? Oder ist da irgendwo eine Fehlerquelle definiert?
In meiner Example-DB habe ich in den Ooptionen für MagicScriipt 4 Haken gesetzt:
- Direkten Link übernehmen, wenn nur einer gefunden wird.
- Originaltitel für Websuche verwenden
- Script-Fehler ignorieren
- Werte nur zu leeren Datenfeldern hinzufügen

Ansonsten klicke ich nur den Film an und "importiere mit einem anderen Script". Bei mit fluppt das dann sofort.
Was ich wohl am Anfang mal hatte, erst beim 2.Importversuch hat er die Daten übernommen. Kannst ja auch mal versuchen, wenn die Datei bereits existiert,
nicht neu zu importieren, sondern den Exporter direkt schließen und das Script arbeiten lassen. Evtl. ist die Datei beim Importversuch noch durch Windows gesperrt.
Aber ich kann da im Moment auch nur raten.

Ach ja, die Blockade muss natürlich sein, da das Script ja sonst schneller wäre als der Exporter
Mawu Posted - 29 Aug 2023 : 18:44:58
Den Pfad hatte ich nicht angepasst. Konnte ich ja nicht wissen. Aber auch nach Anpassung bleibt die Engine hängen. Das Textfile wird komplett erstellt. xMM ist komplett blockiert.
Wenn man das Exporter-Fenster schliesst wird die Blockierung aufgehoben, aber nichts importiert.
JDommi Posted - 29 Aug 2023 : 18:14:55
Mal eine "doofe" Frage, habe ich auch vergessen zu sagen, hast du im Script den Pfad auf deinen Desktop angepasst?
Wenn alles so weit in Ordnung ist, wollte4 ich das noch auf das tmp-Verzeichnis umbiegen.
Mawu Posted - 29 Aug 2023 : 17:37:09
Bei mir wird das Textfile noch geschrieben, dann geht es nicht mehr weiter. Schliesse ich den Exporter läuft die Skript-Engine kurz weiter, importiert aber nichts.
JDommi Posted - 29 Aug 2023 : 13:58:49
quote:
Zuerst musste ich eine aktuelle .NET Runtime installieren.

Stimmt, Runtime 6.0 wird für tarzibou's Exporter benötigt.

quote:
Wenn ich das Skript starte öffnet sich der IMDB Exporter. Ich nehme mal an, dass ich auf "Process" drücken muss. Der Exporter holt sich dann die Daten von der IMDB und schreibt das Text-File in den Export-Ordner. Das funktioniert auch.
Aber dann ist Ende Geände und es passiert nichts weiter. Die Skript-Engine hängt sich auf.

Komisch, bei mir wird dann sofort das Script abgearbeitet. Denk dran, das geht automatisch, ohne irgendeine weitere Eingabe/Auswahl.

quote:
BTW1: Die Datenbanken von xMM 9 und 10 sind wohl - erwartungsgemäss - identisch, d.h. man kann wohl hin-und herswitchen.
BTW2: Wenn das Plus-Skript funktioniert sollte man vieleicht ein abgestimmtes Paket mit Skriptverkettung anbieten, da ja das normale IMDB-Skript immer noch benötigt wird.
BTW3: Das manuelle Anstossen der Erstellung des Textfiles sollte man gar nicht zu Gesicht bekommen, sondern das sollte automatisch erfolgen.Je weniger man als Laie von dem ganzen Prozedere zu Gesicht bekommt, desto besser.
BTW4: Es geistern mittlerweile einige aktualisierte Skripte im Forum umher, die nicht mehr über die automatische Aktualiserung heruntergeladen werden können. Dafür sollten wir eine Lösung finden.
Am einfachsten wäre natürlich, wenn man Zugang zum Server finden könnte, wo die Skripte abgelegt sind. Aber Alessio wird als CEO für so einen "Quatsch" wie den XMM keinen Nerv mehr haben.

BTW1: Das ist schon mal echt erfreulich :)
BTW2: Stimmt. Allerdings muss ich gestehen, dass ich noch nie mit Verkettungen gearbeitet habe. Da bist du wahrscheinlich eher prädestiniert, das zu erklären.
BTW3: Stimme ich dir zu. Ist aber zum Testen jetzt erstmal übersichtlicher.
BTW4: Für das automatische Update sind wir leider auf Ale angewiesen. Oder er richtet jemanden ein, der die Skripte dann selber updaten kann. Ich schaue mir mal meinen alten Updater an, evtl. kann man da ja noch was mit anfangen. Allerdings setzt das alles voraus, dass Ale irgendwann mal wieder auf Mails reagiert...
Mawu Posted - 29 Aug 2023 : 10:55:20
Ich habe das Skript jetzt einmal ausprobiert.
Zuerst musste ich eine aktuelle .NET Runtime installieren.
Wenn ich das Skript starte öffnet sich der IMDB Exporter. Ich nehme mal an, dass ich auf "Process" drücken muss. Der Exporter holt sich dann die Daten von der IMDB und schreibt das Text-File in den Export-Ordner. Das funktioniert auch.
Aber dann ist Ende Geände und es passiert nichts weiter. Die Skript-Engine hängt sich auf.

BTW1: Die Datenbanken von xMM 9 und 10 sind wohl - erwartungsgemäss - identisch, d.h. man kann wohl hin-und herswitchen.
BTW2: Wenn das Plus-Skript funktioniert sollte man vieleicht ein abgestimmtes Paket mit Skriptverkettung anbieten, da ja das normale IMDB-Skript immer noch benötigt wird.
BTW3: Das manuelle Anstossen der Erstellung des Textfiles sollte man gar nicht zu Gesicht bekommen, sondern das sollte automatisch erfolgen.Je weniger man als Laie von dem ganzen Prozedere zu Gesicht bekommt, desto besser.
BTW4: Es geistern mittlerweile einige aktualisierte Skripte im Forum umher, die nicht mehr über die automatische Aktualiserung heruntergeladen werden können. Dafür sollten wir eine Lösung finden.
Am einfachsten wäre natürlich, wenn man Zugang zum Server finden könnte, wo die Skripte abgelegt sind. Aber Alessio wird als CEO für so einen "Quatsch" wie den XMM keinen Nerv mehr haben.
JDommi Posted - 28 Aug 2023 : 20:40:57
Viel Erfolg!
Und lass uns gerne an deinen Erfahrungen teilhaben
Alferio Posted - 28 Aug 2023 : 20:29:44
Die Datenbank ist dieselbe. Das Problem ist, dass die 32-Bit-Version abstürzt, weil die Datenbank größer als ein Gigabyte ist. Wie auch immer, ich werde am Wochenende ein paar Tests machen. Danke !

JDommi Posted - 28 Aug 2023 : 20:10:03
Unterscheidet sich die Datenbank der 32-Bit-/64-Bit-Version? Soviel ich weiß nicht!?
Auf jeden Fall arbeite immer mit einer Kopie deiner Datenbank!!!
Alferio Posted - 28 Aug 2023 : 19:31:03
Verstanden. Ich versuche es mit der zweiten Option, auch wenn sie langsamer ist. Leider habe ich eine besonders große Datenbank und benötige zum Arbeiten die 64-Bit-Version, die ich in xmm 10 nicht gefunden habe.
JDommi Posted - 28 Aug 2023 : 18:59:20
Nur in XMM 10 gibt es die Funktion eine externe Datei auszuführen und dann das Ergebnis als Text-Datei zu laden.
Das hatte ich mir zwar schon zu XMM9-Zeiten gewünscht, aber leider hat das damals nie geklappt.

Wie Mawu schon gesagt hat, sollte man mal testen, ob die Datenbanken von XMM 9 und 10 evtl. identisch sind und man zwischen beiden zur Bearbeitung wechseln kann. Ansonsten müsste man das Plugin manuell starten und das Ergebnis manuell übertragen, wobei das bei den Goofs, Connections und Awards doch einiges an Arbeit mit sich bringt.
Hier zum Beispiel das Ergebnis von Matrix (1999):
---Alternate Titles
DE: Constantine
---Awards
Academy of Science Fiction, Fantasy & Horror Films, USA|False !2006 [Saturn Award] -->Best Horror Film
ASCAP Film and Television Music Awards|True !2006 [ASCAP Award] -->Top Box Office Films >Klaus Badelt, Brian Tyler
Fangoria Chainsaw Awards|False !2006 [Chainsaw Award] -->Best Supporting Actress >Tilda Swinton
Young Artist Awards|False !2006 [Young Artist Award] -->Best Performance in a Feature Film - Supporting Young Actor >Shia LaBeouf
Golden Trailer Awards|False !2005 [Golden Trailer] -->Best Thriller
Teen Choice Awards|False !2005 [Teen Choice Award] -->Choice Movie: Thriller
Teen Choice Awards|False !2005 [Teen Choice Award] -->Choice Movie Scream Scene >Rachel Weisz
Fantasporto|True !2005 [Audience Jury Award] -->Feature Film >Francis Lawrence
International Film Music Critics Award (IFMCA)|False !2005 [IFMCA Award] -->Best Original Score for a Horror/Thriller Film >Brian Tyler, Klaus Badelt
Golden Schmoes Awards|False !2005 [Golden Schmoes] -->Most Underrated Movie of the Year
Golden Schmoes Awards|False !2005 [Golden Schmoes] -->Coolest Character of the Year
The Stinkers Bad Movie Awards|False !2005 [Stinker Award] -->Worst Supporting Actor >Peter Stormare
MTV Movie + TV Awards|False !2005 [MTV Movie Award] -->Best Hero >Keanu Reeves
---Production Companies
Warner Bros.
Village Roadshow Pictures
DC Comics
Lonely Film Productions GmbH & Co. KG.
Donners' Company
Batfilm Productions
Weed Road Pictures
3 Arts Entertainment
Di Bonaventura Pictures
---Distributors
Germany - Warner Bros. (theatrical: 2005)
Germany - Warner Home Video (DVD: 2005)
Germany - Warner Home Video (Blu-ray: 2008)
---Connections Featured in
https://www.imdb.com/title/tt0594830|Constantine: Heaven, Hell and Beyond (2005) Fernsehepisode HBO First Look * clips shown
https://www.imdb.com/title/tt0628650|Folge #12.100 (2005) Fernsehepisode Late Show with David Letterman * Promotional Excerpts showed during interview with Keanu Reeves - Midnite electrocutes Constantine in an electric chair.
https://www.imdb.com/title/tt7353564|Constantine/Son of the Mask/Because of Winn-Dixie/Born Into Brothels (2005) Fernsehepisode Siskel & Ebert & the Movies * Reviewed.
https://www.imdb.com/title/tt1345366|Folge #33.9 (2005) Fernsehepisode Troldspejlet * reviewed + footage used
https://www.imdb.com/title/tt0421625|Anlat Istanbul - Erzähl Istanbul (2005) Film  * Showing in the cinema in the last story.
https://www.imdb.com/title/tt0756594|The Worst Films of 2005 (2006) Fernsehepisode Siskel & Ebert & the Movies * #7 on Roger Ebert's list.
https://www.imdb.com/title/tt1565904|The Road/Ninja Assassin/Old Dogs (2009) Fernsehepisode The Rotten Tomatoes Show * "Movie Theology with Father Brett" segment
https://www.imdb.com/title/tt1599373|Secret Origin: The Story of DC Comics (2010) Video  * Clips shown.
https://www.imdb.com/title/tt11092678|Top 10 Movie Angels (2013) Fernsehepisode WatchMojo * Gabriel is #4.
https://www.imdb.com/title/tt4073540|Top 10 Movie Devils (2014) Fernsehepisode WatchMojo * Lucifer is #3.
https://www.imdb.com/title/tt27170469|Top 10 Keanu Reeves Roles (2014) Fernsehepisode WatchMojo * John Constantine is #5.
https://www.imdb.com/title/tt4034344|Top 10 Badass Movie Tattoos (2014) Fernsehepisode WatchMojo * John Constantine's tattoo is #10.
https://www.imdb.com/title/tt4760548|Constantine Pros n' Cons (2015) Fernsehepisode The Blockbuster Buster * movie is discussed
https://www.imdb.com/title/tt5092628|Keanu Reeves (2015) Fernsehepisode Celebrated * Clip shown. Film discussed.
https://www.imdb.com/title/tt6683432|Mockingjay: Part 2 (2016) Fernsehepisode Lost in Adaptation * Poster shown
https://www.imdb.com/title/tt6285436|Top 10 Darkest Comic Book Movies (2016) Fernsehepisode WatchMojo * Constantine is #8.
https://www.imdb.com/title/tt6686354|Harry Potter and the Deathly Hallows: Part 2: Part 2 (2016) Fernsehepisode Lost in Adaptation * Clips shown
https://www.imdb.com/title/tt6589512|Top 10 Movie Depictions of Hell (2017) Fernsehepisode WatchMojo * The depiction of hell in Constantine is #5.
https://www.imdb.com/title/tt6757264|Top 10 Actors Who Don't Look Anything Like Their Comic Book Characters! (2017) Fernsehepisode WatchMojo * Keanu Reeves as John Constantine is #6.
https://www.imdb.com/title/tt9391894|Top 10 Most Violent Superhero Movies (2017) Fernsehepisode WatchMojo * Constantine gets an honorable mention.
https://www.imdb.com/title/tt10515510|Constantine (2019) Fernsehepisode The Nostalgia Critic * The movie is reviewed.
https://www.imdb.com/title/tt11085710|Top 10 Scariest Action Movies of All Time (2019) Fernsehepisode WatchMojo * Constantine gets an honorable mention.
https://www.imdb.com/title/tt11909212|Everything Wrong With Constantine In Chain Smoking Minutes (2020) Fernsehepisode Everything Wrong with... * The flaws of the movie are talked about
https://www.imdb.com/title/tt26240392|Pro Acting Coach Breaks Down 12 Keanu Reeves Performances (2020) Musik Video  * film clips shown
https://www.imdb.com/title/tt16403866|10 Things You Didn't Know About Constantine (Movie) (2020) Fernsehepisode Minty Comedic Arts * Clips shown.
https://www.imdb.com/title/tt13765102|9 Post-Credit Horror Movie Scenes That Changed Everything (2020) Fernsehepisode WhatCulture Horror * The movie is ranked 5th.
https://www.imdb.com/title/tt23138928|Constantine (2022) Fernsehepisode Chris Stuckmann Movie Reviews * Chris reviews the movie.
https://www.imdb.com/title/tt26218954|10 Things You Didn't Know About GhostRider 2007 (2023) Fernsehepisode Minty Comedic Arts * Clips shown.
---Connections Features
https://www.imdb.com/title/tt0220880|Courage der feige Hund (1999) Fernsehserie  * Clip from cartoon is shown.
---Connections Followed by
https://www.imdb.com/title/tt1071873|Constantine 2 () Film 
---Connections Referenced in
https://www.imdb.com/title/tt0487003|Constantine (2005) Fernsehepisode Never Before Scene
https://www.imdb.com/title/tt1643965|Folge vom 3. April 2005 (2005) Fernsehepisode Panel Quiz Attack 25
https://www.imdb.com/title/tt0416243|Submerged (2005) Video 
https://www.imdb.com/title/tt0468467|Danger: Diabolik - From Fumetti to Film (2005) Video 
https://www.imdb.com/title/tt0807309|Box Office Bombs vs. NASCAR (2006) Fernsehepisode Most Extreme Elimination Challenge
https://www.imdb.com/title/tt0954968|Requiem for Krypton: Making 'Superman Returns' (2006) Video 
https://www.imdb.com/title/tt1144823|The Visions of Stanley Kubrick (2007) Video 
https://www.imdb.com/title/tt1136279|I Am Legend (2007) Fernsehepisode HBO First Look
https://www.imdb.com/title/tt0799934|Abgedreht (2008) Film 
https://www.imdb.com/title/tt1488984|The End (2009) Fernsehepisode Supernatural: Zur Hölle mit dem Bösen
https://www.imdb.com/title/tt2076686|Indiana Jones and the Kingdom of the Crystall Skull (2010) Fernsehepisode The Blockbuster Buster
https://www.imdb.com/title/tt1712578|Nazi Bitch - War Is Horror (2011) Film 
https://www.imdb.com/title/tt2402455|Top 10 Lame LXG Moments (2012) Fernsehepisode The Blockbuster Buster
https://www.imdb.com/title/tt3088572|The Comic Con: Part 3 (2013) Fernsehepisode The Watchman Video Broadcast with Pastor Michael Hoggard
https://www.imdb.com/title/tt3615012|Muppets Most Wanted (2014) Fernsehepisode Bum Reviews
https://www.imdb.com/title/tt4255382|The Matrix (2015) Fernsehepisode The Nostalgia Critic
https://www.imdb.com/title/tt4459966|Daredevil (2015) Fernsehepisode The Nostalgia Critic
https://www.imdb.com/title/tt3554580|Batman: Arkham Knight (2015) Videospiel 
https://www.imdb.com/title/tt6439442|Eggs or Ceased Part III: Mature Mutant Exorcist Turtles (2015) Fernsehepisode Egg Cetera
https://www.imdb.com/title/tt6207940|The Amazing Bulk (2016) Fernsehepisode I Hate Everything: the Search for the Worst
https://www.imdb.com/title/tt5814914|GirlFight: inVite (2016) Kurzfilm 
https://www.imdb.com/title/tt24068746|Multimedia Update (28/08/2016) (2016) Fernsehepisode OWV Updates
https://www.imdb.com/title/tt6512986|John Wick (2017) Fernsehepisode Honest Trailers
https://www.imdb.com/title/tt14296246|RiffTrax: Missile X - The Neutron Bomb Incident (2017) Film 
https://www.imdb.com/title/tt7799330|Bright (2017) Fernsehepisode Midnight Screenings
https://www.imdb.com/title/tt9485592|Girl Blood Sport (2019) Film 
https://www.imdb.com/title/tt17887512|10 Amazing Facts About I Am Legend (2019) Fernsehepisode Minty Comedic Arts
https://www.imdb.com/title/tt12630456|The Bill & Ted Movies (2020) Fernsehepisode The Nostalgia Critic
https://www.imdb.com/title/tt16403866|10 Things You Didn't Know About Constantine (Movie) (2020) Fernsehepisode Minty Comedic Arts
https://www.imdb.com/title/tt13920592|7 Keanu Reeves Games to Play until Cyberpunk 2077 Is Here (2020) Fernsehepisode Outside Xbox
https://www.imdb.com/title/tt15882016|Keanuvember: The Canadian Keanu Reeves History Podcast (2021) Podcast-Folge Diminishing Returns Diminisodes
https://www.imdb.com/title/tt16475212|The Devil and Father Amorth (2021) Fernsehepisode JonTron
https://www.imdb.com/title/tt13616990|Chainsaw Man (2022) Fernsehserie 
https://www.imdb.com/title/tt26218954|10 Things You Didn't Know About GhostRider 2007 (2023) Fernsehepisode Minty Comedic Arts
https://www.imdb.com/title/tt28376849|FlashCast: Mission: Impossible 7 FLOPS?! Snow White CRINGE! Hollywood SHUT DOWN! (2023) Fernsehepisode YellowFlash 2
https://www.imdb.com/title/tt1756836|The Wizard Hunter: The Hunt for Evangelion Crowley (2024) Film 
https://www.imdb.com/title/tt8774264|Crowley () Film 
---Connections References
https://www.imdb.com/title/tt0071615|Montana Sacra - Der heilige Berg (1973) Film 
https://www.imdb.com/title/tt0070047|Der Exorzist (1973) Film 
https://www.imdb.com/title/tt0075314|Taxi Driver (1976) Film 
https://www.imdb.com/title/tt0093777|John Carpenter's Die Fürsten der Dunkelheit (1987) Film 
https://www.imdb.com/title/tt0146675|End of Days - Nacht ohne morgen (1999) Film 
https://www.imdb.com/title/tt0212830|Bruiser (2000) Film 
https://www.imdb.com/title/tt0167190|Hellboy (2004) Film 
---Connections Spin off
https://www.imdb.com/title/tt0462672|Constantine (2005) Videospiel 
---Connections Spoofed in
https://www.imdb.com/title/tt0763046|Best Friends Forever (2005) Fernsehepisode South Park * Satan is scared to fight because Heaven has a Keanu Reeves, who starred as the demon fighter in Constantine.
https://www.imdb.com/title/tt0687781|Operation Rich in Spirit (2005) Fernsehepisode Robot Chicken * Keanu Reeves plays the same bland character in different movies
https://www.imdb.com/title/tt8395656|GirlFight: Model Kombat (2018) Film  * Brass knuckles used in fights.
---Connections Version of
https://www.imdb.com/title/tt0462672|Constantine (2005) Videospiel 
https://www.imdb.com/title/tt3489184|Constantine (2014) Fernsehserie 
https://www.imdb.com/title/tt6404896|Constantine: City of Demons (2018) Fernsehserie 
https://www.imdb.com/title/tt1071873|Constantine 2 () Film 
---Filming Locations
259 S Broadway, Los Angeles, Kalifornien, USA (Bowling Alley/Constantine's apartment)
St. Vincent Catholic Church - 621 W. Adams Blvd., Los Angeles, Kalifornien, USA
17729 N Indian Canyon Dr, Palm Springs, Kalifornien, USA (Parking lot where car gets stolen)
Olympic Hotel - 725 South Westlake Avenue, Los Angeles, Kalifornien, USA (opening scene - apt. with possessed girl)
Stage 22, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
216 W 8th St. Los Angeles, Kalifornien, USA (Street attack scene)
Angeles Abbey Memorial Park - 1515 E. Compton Blvd., Compton, Kalifornien, USA
Eagle Mountain, Kalifornien, USA
Stage 15, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
Stage 16, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
Stage 19, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
Stage 20, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
Stage 21, Warner Brothers Burbank Studios - 4000 Warner Boulevard, Burbank, Kalifornien, USA
461 S. Boylston St, LA, CA 90017 (Hospital external shots)
Los Angeles Center Studios - 450 S. Bixel Street, Downtown, Los Angeles, Kalifornien, USA (Studio)
---Goofs Audio visual unsynchronized
(at around 1h) When John is talking on his cell phone to Beeman the line goes dead and a dial tone is heard. Cellular phones do not have dial tones.
(at around 2 mins) The kettle shown in the opening scene whistles as it boils, increasing in volume and pitch until the gas underneath it is turned off. However the kettle has a normal spout - not a whistle - and should not be whistling at all.
Whenever Angela draws her weapon, there is a sound of the hammer being cocked. The Smith and Wesson 6906 has a "bobbed" hammer, no "handle" to get your thumb onto easily. Cocking the weapon is difficult, especially since her thumb never goes near it. It's also policy for most police departments to fire the first shot without cocking the weapon first. In some departments, not following this policy is grounds for immediate dismissal.
(at around 49 mins) When Father Hennessy is drinking himself to death in the liquor store the first two bottles he grabs are wine bottles. We hear the tell-tale sound of a cork popping, but not only would it be physically impossible to pull out a cork, that had not been previously opened, without a corkscrew, all corked bottles are sealed with foils, which we also don't see him removing. While there are cheap wines that have a twist-open top, the cork sound is an error.
---Goofs Character error
(at around 21 mins) The priest tells Angela that suicide is a mortal sin and therefore Isabel cannot have a Catholic funeral. While the church does still consider suicide a sin, this judgment does not hold in cases of mental illness. In modern times, suicide is considered evidence of mental illness, and since Isabel was in a mental institution, whether or not she may have a Catholic funeral is a moot point. People who commit suicide are no longer refused a Catholic burial in consecrated ground.
(at around 58 mins) When in the car about to call Beeman, Constantine says that the bible in hell gives a whole new meaning to "Revelations". The last book in the Bible is actually "Revelation", without the 's', as its story is considered to be a single "revelation." (This mistake is common in real life.)
(at around 1h 9 mins) In the bathtub scene, when the tub breaks and Angela (Rachel Weisz) is on the floor, John (Keanu Reeves) says "Rachel" when he should've said "Angela" instead.
(at around 58 mins) When John, Angela and Beeman are discussing the Bible passages about the Son of Satan, Angela says "There's no 17th Act in Corinthians" and he replies that the Bible in Hell has more "acts." The Bible is traditionally divided into chapters, not "acts".
(at around 50 mins) When Constantine and Rachel go for pancakes after his journey into hell because he says that he has to eat, he never takes a bite of food during the entire scene. He pokes around with his fork, but never eats, which is strange as that's the entire reason they went there.
---Goofs Continuity
(at around 1h 26 mins) Angela fires her gun consecutively 30 times without reloading, but her Smith and Wesson Model 6906 holds a total of 13 rounds.
(at around 16 mins) When Angela goes to see Isabel's body, the clock on the wall over the pool reads 6:45, yet in the same scene Angelas watch appears to read 3:45. Then, at the elevator with Constantine, the clock reads 3:40.
(at around 35 mins) When Angela and Constantine are speaking, he is smoking a cigarette and he traps a spider under a cup with smoke. In the next shot, the cup and the spider are gone from where they were set and in the shot after that, it's in a completely different spot on the table.
(at around 39 mins) When the street lights are shutting down, before the demons attack Constantine and Angela, the red traffic lights can be seen to shut down twice.
(at around 37 mins) Constantine traps a spider with a glass and blows some cigarette smoke into the same glass. Later, Angela lifts the glass, releasing the spider. There is considerably more smoke in the glass when the spider is released.
(at around 1h 8 mins) When Angela is in submerged in the bathtub, she struggles vigorously with John, causing water to splash about. As she crosses over and time slows, a drop of water can be seen falling, however, into a perfectly still, ripple-free bath.
(at around 1h 35 mins) When Constantine is lying below the broken glass doors, into which he has just been slammed by Gabriel, the shapes of the intact shards remaining in the doors vary from shot to shot.
(at around 13 mins) When Isabel falls through the window into the pool, it is very shallow. She shows no damage to her body and there is no blood in the pool even though she broke through the massive glass skylight.
(at around 1h 35 mins) When Constantine decides to cut his wrists so Lucifer comes for his soul, the blood spills and touches his Oris watch on the floor and time stops. On the next scene, from above, the blood pool is smaller and doesn't touch the watch. The next scene, taken from below, the watch is again in the blood pool.
(at around 40 mins) When Angela is vomiting after the first demon attack on her, she begins by vomiting into the corner next to the pillar on the right of the visage of Christ, but when the angle changes she's now vomiting directly in front of the visage, facing the opposite direction.
(at around 54 mins) When Father Hennessy is dead and lying on the floor, one knee is up. In the next shot, his knee is down, then back up again in the third shot.
At the beginning of the film when John Constantine goes to perform his exorcism he has a cigarette in his hand that he has nearly smoked most of. He then goes to put it on a cabinet and hardly any of it has been smoked.
By the end of the movie when John's hair is all wet, his hair constantly changes between takes and scenes -- sometimes it's just wet, and sometimes it's stuck to his forehead.
(at around 1h 50 mins) John gets his weapon from Gabriel and points it upwards. In the next shot he has it pointing at Gabriel.
(at around 1h 7 mins) When Constantine dips Angela in bath tub the dial color of his wrist watch is black as seen in the water but it changes to white color dial after couple of shots as seen from outside the water.
(at around 57 mins) Angela and Constantine are in the room Isabel "planned" her death in. When they are first in the room, the large window is still broken, with small shards of glass sticking up. However, before they leave a minute or so later, the window is repaired.
(at around 1h 45 mins) When Constantine is at the mental hospital waiting for Lucifer, it's night and the clock on the wall reads 05:17. After Lucifer departs, it's shown as early sunrise, yet the clock still reads 05:17. Even with the dilation of time, the clock would move forward an hour. If time had moved immediately after Lucifer departed, it would still be dark (due to time stopping completely).
(at around 15 mins) When Constantine is talking to his doctor about his lung cancer, the x-ray light box behind the doctor is on/off between shots.
(at around 1h 45 mins) When Constantine is being taken to heaven, Lucifer rips open his shirt to remove the lung cancer from his lungs, so all the buttons on Constantine's shirt are gone. Once he's been resurrected, apparently the shirt was as well: all the buttons are back and the shirt is now buttoned up.
(at around 1h 28 mins) Constantine has a weapon that shoots gold rounds. In the holy water scene, he fires 9 rounds then changes the chamber. Then he fires 5 rounds and his gun is empty. Then without changing it, the weapon is loaded again.
(at around 1h 26 mins) When Angela is shooting the possessed man in the hospital pool, the last frame of the shot behind her shows the gun slide locking in the back position, indicating an empty magazine. However, the immediate next shot facing Angela shows her continuing to fire without interruption.
---Goofs Crew or equipment visible
(at around 1h 6 mins) A crew member is reflected in the water when Constantine dunks Angela in the bath tub.
(at around 1h 35 mins) When Gabriel picks Constantine up, two lines can be seen attached to him and pulling him up.
---Goofs Error in geography
At around 1hr 21min Constantine uses the chair and faces East. The reason he wishes to face east is because he believes that Israel, the land where Jesus is told to have died, is in the east. However, taking into account the curvature of the earth, based on his location, he would instead have to face NorthEast, or SouthEast, based on his location, presuming he's in the United States.

The case rests the same with how Muslims face North East when praying towards Mecca, which is at a relatively similar distance.
---Goofs Factual error
(at around 1h 22 mins) In one scene Chas is seen melting down gold jewelry to make bullets on a stove top in a small skillet. This however is not possible as a stove could never produce enough heat to melt gold in this fashion.
(at around 1h 35 mins) When Constantine cuts his wrists he bleeds to death in just about one minute, while in reality that method of suicide is actually quite slow (and there's no forward jump in time during that minute as can be seen by Gabriel's simultaneous actions).
(at around 1h 16 mins) John and Angela both say that Jesus' actual cause of death was from being stabbed with the Spear of Destiny. However, in the Gospel of John, which describes the incident, Jesus was already dead when he was stabbed with the spear.
(at around 1h 35 mins) Constantine couldn't cut both wrists because his tendons would be severed in the first wrist and he wouldn't be able to hold the glass in that hand and slit the other wrist. In fact later on, Lucifer has to light his cigarette for him because he can't.
John Constantine has been in comic books beginning in 1985. In multiple issues he has gone out of his way to clarify the pronunciation of his name; "John Constantine. T-I-N-E. Rhymes with 'wine'."
Every instance in this movie it is mispronounced as "teen."
(at around 1h) When Constantine enters the bowling center, we see all of the lanes; however, when Constantine goes into the machine area, the machines are not bowling machines; and there is a walkway between the backs of the machines. The bowling center was one location, while the machines were in another location.
---Goofs Miscellaneous
There are two police cars with the number 274 in the scene with the EZ Mart.
In the opening scene, when the mirror shatters and the girl comes out of her trance, she discovers she is tied to the bed, and struggles a bit against her bonds. But only her right hand is tied down; her left hand is free and she pretends it is bound.
---Goofs Revealing mistake
(at around 26 mins) When Angela is looking at the video of Isabel's suicide, she rewinds it, but the button she pushes on the far left is not the "rewind/search" button on QuickTime Player, but instead the "return to beginning".
(at around 1h 8 mins) Freeze-framing the exploding bathtub segment reveals that an Asian-looking stand-in for Rachel Weisz with her hair pulled back tightly behind her left ear actually makes the move from tub to floor.
(at around 41 mins) When the bus drives past Constantine, it's traveling on the wrong side of the road, against traffic.
(at around 18 mins) When John puts the needle on the first track of Dave Brubeck's "Time Out" album, "Take Five" begins to play. "Take Five" is the third track.
(at around 8 mins) In the beginning where Constantine is exorcising the little girl, the mirror gets pulled out of the window. The line used to pull the mirror out can be seen clearly attached to it but, in the next overhead shot when it is falling toward the car, the line is clearly no longer attached.
(at around 1h 26 mins) The group of demons in the room near the pool is first shown while Angela is firing her gun. The exact same shot is shown when Constantine enters the room, but the shot has been flipped horizontally. There is no significance to this, but is done so that it doesn't look like the same shot a second time around.
(at around 1h 27 mins) Near the end, when Kramer is proceeding to place the blessed cross into the emergency sprinkler system, he shoots a hole into a section of the top of the tank. Firstly, it is highly unlikely he would be able to blast a perfect circular hole into a (steel?) water tank meant to supply a building's fire sprinkler system with a shotgun, even with magnum buckshot or special blessed rounds. Secondly, if he was able to, the diameter of the hole Kramer actually makes is nowhere near wide enough for the cross to fit, no matter how he manipulates it. Hence, the camera simply cuts away to the cross dropping into the tank.
(at around 47 mins) As Father Hennessy presses the button to open the morgue door, the brick wall on which it's affixed can be seen to move.
(at around 1h 50 mins) Gabriel comes up out of the pool after having the wings burned off. There are two nubs, but the shirt doesn't have any zipper or way to put those two giant wings through the two small holes on the shirt.
---Goofs Plot hole
One of the major plot points is that Constantine is trying to bargain his way out of going to Hell, but can't because he took his own life. He later threatens to absolve a demon of his murders which would send the demon to heaven. One character also later mentions that humans have redemption from the Lord if they ask for it, even if they are murderers. It is never explained why these rules do not apply to Constantine.
The Spear of Destiny was taken by Adolf Hitler at the start of the anschluss of Austria. The opening scene features the Spear being unwrapped from a Nazi flag, hence indicating it was the Spear taken from Austria. However, while the Spear and other artifacts were very nearly lost or destroyed at the end of WWII, they were rescued and the Spear returned to Austria. See the first episode of Myth Hunters (2012) (Hitler and the Spear of Destiny (2012)) for details.
Balthazar was blasted by Constantine's gun and torn to pieces. As Balthazar lay on the conference room table a figure appears to enter the room and Balthazar begs his master to restore him. This master is Mammon, the son of Satan. Mammon not appear on Earth in this manner. He can only return when Angela is sacrificed with the Spear of Destiny.
Through out the movie, people have freewill and then destiny. You can't have both, it has to be one or the other.
---Plot
Der mit übermenschlichen Kräften ausgestattete Detektiv John Constantine hilft einer Polizistin, zu beweisen, dass der Tod ihrer Schwester kein Selbstmord war, sondern mehr dahintersteckt.
---Release Dates
FR: 07.02.2005 Paris
DE: 17.02.2005
Alferio Posted - 28 Aug 2023 : 18:34:45
Hallo Jdommi. Ich gebe an, dass ich das 64-Bit-XMM 9.01.3 und nicht das xmm10 verwende. Ich glaube, ich habe alles wie angewiesen gemacht. Ich habe die Datei auf meinen Desktop kopiert, den Exporter in den Plugin-Ordner gelegt und das Skript in die . Aber wenn ich ein Film-Update starte, erhalte ich immer einen permanenten Weiterleitungsfehler. Könnte es ein Versionsproblem sein?
JDommi Posted - 28 Aug 2023 : 18:05:07
Mit Link kann das doch jeder

Versuche es mal hier:
https://www.mediafire.com/file/szs8dols6hg0ocn/IMDBExporter.rar/file
Mawu Posted - 28 Aug 2023 : 14:35:24
@JDommi

Übersehe ich hier etwas oder fehlt noch der Download-Link?
JDommi Posted - 27 Aug 2023 : 12:15:45
Here is the first full working version of the IMDB_Plus script for Release 10!!!
It allows you to download all the data that needs to be reloaded via Javascript (50 More / All) and the plot in your own language by your computer's country code.

You have to do:
_IMDB_: copy to your desktop
IMDBExporter: copy to XMM10/Plugins
IMDB_plus for Rel 10.txt: copy to XMM10/Scripts

The movie you want to import, MUST already have the IMDB-Link.


Additionally I have updated the general_functions.js for use with at least the last movie_bigcover Card (V24) version.
That's because the goofs are now handled like the connections (separated into categories).
https://www.mediafire.com/file/m8dpu8sq6c0o96b/Movie_BigCover_V24.rar/file

Just test it!

BinaryWorks.it Official Forum © Binaryworks.it Go To Top Of Page
Generated in 0.14 sec. Powered By: Snitz Forums 2000 Version 3.4.07