Hacker News new | past | comments | ask | show | jobs | submit login
Aggregating all cinema showtimes in Germany with Clojure (tonsky.me)
144 points by zonotope 6 months ago | hide | past | favorite | 51 comments



> It’s a website that shows every movie screening in every cinema across the entire Germany.

> And when I say EVERY screening, I mean it:

Well, I checked Heidelberg and only "Die Kamera" (1 screen) and "Gloria" (2 screens) are listed, but "Karlstorkino" (1 screen) and "Luxor" (6 screens) are missing. So for Heidelberg the site covers only 30% of all screens.

The "Luxor" in Walldorf seems to be missing too.

I have not checked any other cities.


I've checked Dresden, and the best independent Cinema with the good movies is also missing. The scraper still lists the old variant from 4 years ago, so it must be an older scraper. He should really countercheck with other scrapers


Fun to see Dresden mentioned here, but I'm curious which theater you mean? Schauburg, Thalia and Programmkino Ost are there. I can understand the KiK is missing and Zentralkino is probably still too new. I think the Kino im Dach is no more and the KIF also unfortunately died :(

By the way, we also have kinokalender.com, which - as one really can't tell by the domain lol - is Dresden-specific and a great resource.


Kino im Dach changed to Zentralkino, and some Zentralkino films are missing. Which is bad, as they are besides the Rundkino the only ones which show weird one-time only films, which you dont want to miss


Ok, but a very interesting part is missing: how did you scrape the data in the first place?


That's the big elephant in the room... I read the whole article trying to find out where he gets the data from but no mention of that.


Niki, this is amazing, thank you for that!

I just discovered they play Terminator 2 at Babylon Berlin tonight, thinking of going there, always wanted to see that on a big screen :)

It seems like your list is not showing "OV", "OVmU" correctly at Babylon. Both Terminator 2 (https://babylonberlin.eu/programm/festivals/scifi/7199-scifi...) and the mentioned Matrix (https://babylonberlin.eu/programm/festivals/scifi/7192-scifi...) there are OVmU according to their website, but that doesn't show in your list. I guess the data is provided wrongly.

As someone who only watches OV with (if not English or German) English or German subtitles I would love to have one thing which movie theatres don't get: A filter for "OV" (Original Version). Thing is, they "have" it, but they exclude german OV's for a reason I don't understand.

Example: Go to https://www.cinecitta.de/, and check the movie screenings. You'll find "Andrea lässt sich scheiden", an Austrian movie with original audio in German. But as soon as you go to the menu and select "Original Versions + OmU" they don't show it anymore, even though it is OV! I don't get that.

So, my wish, Niki: Can you identify original German movies played in German as "OV" as well?


That would be highly confusing for a German. OV always means that it is in a foreign language here, in cinema listings. Adding OV to German movies would identify them as not German.

I know that does not follow from the meaning of the word, but it just is how the label is used.


Yeah, sure, people would be confused for a while, but as "OV" has variations anyways it could then be something like "DeOV", "Deutsche Orginalvertonung".

But honestly, it's not even about that being written there. I just want them to show up when I filter by "OV", as a lot of cinemas have that option on their website.

Luckily in Berlin there are the Yorck cinemas where they play OV's per default, so I ended up only going to their cinemas, only using their website to search what's playing. That's why I've only discovered now what Babylon is playing!


and apropos Austria... could you add it to the website?


There's APIs like https://www.internationalshowtimes.com that give you all that data for many countries. Have used it in the past and it works well, with direct booking deeplinks to the cinemas (select seat, next, pay, done).


Do you know of any user-facing service using that API under the hood?

I'm shocked to see my country included, but not shocked enough to pay at least €150/month for the privilege.


There's a list of apps and sites that use is here (the horizontal scrolling bit): https://www.internationalshowtimes.com/showtimes-api


Nice effort and for a second I thought you had fixed a problem I had, that most cinemas in my hometown have their own shitty sites and hence their screening times can not be discovered through Google, but turns out despite your bold claim this is not the case. Unfortunately there is no mention of any of the admittedly small cinemas in Tübingen. Your idea is still brilliant and I would very much appreciate if it worked as intended


Damn Tübingen! You are the _third_ person who tells me about it! I’ll find a better source soon, hold on


Nice!

I built https://seattle-movies.innocence.com/ out of similar motivations, although I limited my focus to arthouse/indie movie theaters. I also produce an .ics calendar feed which for me is the most useful feature; I like scanning upcoming movies on a calendar app I already use all the time.

No DB under the hood, just a nightly scrape and process. Works fine. Sometimes the format changes and updates break until I fix them; not a big deal and the code is available in case I ever get bored.

https://github.com/BryantD/film-calendar for the curious. It’s intended to be easy to adapt to another city.


Who else noticed the pointers websocket for displaying the mouse pointers of other readers?


I hate that for some reason. Feels intrusive in a weird way to me.


Hey, this is really cool and helpful.

I recently arrived in Germany and movie/cinema aggregation is a huge issue and a hassle tbh, so I'll be using this frequently.

A suggestion, if I may, is to add language of the movie if possbile? It'd be great if there's any way to fetch that info and display it directly on your website instead of visiting every multiplex website to check it.

Either way, thank you for this!


In Germany they use these abbreviations for that:

OV = Original Version

OmU = Originalfassung mit Untertitel (original with German subtitles)

DF = Deutsche Fassung (German version)

OmeU = Originalversion mit englischsprachigen Untertiteln (original with English subtitles)


Oh, ok. Didn't know about that. Thanks for the info!

But, I still think that it needs some more clarity. Does a film listing not having any of these abbreviations default to German audio?

Just a few things of this sort.


> Does a film listing not having any of these abbreviations default to German audio?

In my experience, yes. The default is German without subtitles. I have seen the OV and OmU abbreviations a lot of times, but most showtimes don't have anything listed which will mean German.


Yes, unfortunately the default is German dubbing. If it doesn't say OV or OmU, that's absolutely what you're getting.


Google already supports this. No extra clicks or ad interstitials. Just search “<place name> movie showtimes” or “<movie name> showtimes”. It works for every town I tried in Germany.


Yeah, except that it shows like only 20 movies and 4 showtimes. I want to see everything


Congrats for building such a great site. I'm curious where OP is pulling the data from. I particularly like the Citydome [1] in Darmstadt, which is often showing movies in original language.

[1]: https://allekinos.de/?city=Darmstadt&cinema=Citydome


> The whole database is around 11 MB, basically nothing. I don’t even bother with proper storage, I just serialize the whole thing to a single JSON file every time it updates.

> But how do I search? > Well, Ctrl+F, of course. We are too humble, too lazy, and too smart to try to compete with in-browser implementation.

> Wait, what about page size? > It’s totally fine. I mean, for Berlin, for example, we serve 1.4 MB of HTML. 3 MB with posters. It’s fine.

Besides whatever technicalities, we need more engineers with this sober mentality.


I know it says no SEO, but you could actually create preview pictures for movies so that when a link gets shared the showtimes show up directly in iMessage or any other messaging platform. Of course only relevant until the showtimes change.


This is nifty! I like it a lot. Would be nice, if smaller cities are also included... I am missing "Detmold" for example


I don’t think there is a single movie theater in Detmold. Which one are you missing?


I found an entry for a city in Germany that I’m pretty sure doesn’t exist:

https://allekinos.de/?city=Bielefeld

https://en.wikipedia.org/wiki/Bielefeld_conspiracy


is it viable to build a product on top of scraping?

seems like unpredictably any day you could find yourself out of sync or with no data because of infrequent crawls or dom changes or bot challenges and then you have to play cat and mouse


There's entire industries built on top of scraping, something changes, you adapt. In this case where the data is actually used to drive more traffic to the cinemas there will be little protection. Very different to Linkedin protecting their user submitted data as that's their value.


This is amazing! Have the same problem in the UK - would love a site like this.


But why Clojure, I am curious about the choice of the language?


Nikita is a renown Clojurista https://github.com/tonsky He authored numerous popular libraries.


> It’s a website that shows every movie screening in every cinema across the entire Germany.

Nope. The first two towns I tried (with cinemas, and not far from his example Hannover) were missing. The third town I tried: also missing.

I think it's obvious that there are more than the maybe 300 cinemas shown on the web page in all of Germany.


The first two I checked are also missing.


Guys I need names of cities and cinemas


but you still can't see where a particular movie is playing (not just in your city), which would be the entire point


Is the use case of "people who are looking for a city to drive to to watch a movie" really that big?


Yes. I live in the Ruhrgebiet, which is essentially a giant area of mid-sized cities, connected by a fantastic train network. The time to a neighbor city cinema is more or less the same than to my own. And I was looking for a place that plays the english version of LOTR for years now.


Seems like it would be useful for movies that are in limited release.


"to drive to"? This is Germany, we have (very unreliable) public transport :)


A lot of people stil drive in Germany. Public transportation can't cover everyone's use case.


I wonder which DB is hosting all the data. My first pick would be Clickhouse, which should shine with all the data denormalized in a single table.


The article says Datascript. https://github.com/tonsky/datascript


> No ChatGPT/SEO generated bullshit.

Amen.


If you can’t already do this you don’t have the basic skills to be a programmer.


Glorious. I vote for IMDB to be deshitified next!





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: