top | item 40367566

Aggregating all cinema showtimes in Germany with Clojure

144 points| zonotope | 1 year ago |tonsky.me

51 comments

order

Archelaos|1 year ago

> 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.

rurban|1 year ago

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

WA|1 year ago

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

spapas82|1 year ago

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.

msavio|1 year ago

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?

onli|1 year ago

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.

croisillon|1 year ago

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

dewey|1 year ago

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).

input_sh|1 year ago

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.

elschneider|1 year ago

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

tonsky|1 year ago

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

BryantD|1 year ago

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.

idlephysicist|1 year ago

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

cyberlimerence|1 year ago

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

Xplune13|1 year ago

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!

akie|1 year ago

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)

rafram|1 year ago

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.

tonsky|1 year ago

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

smetj|1 year ago

> 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.

fewald_net|1 year ago

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.

Arjuna144|1 year ago

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

tonsky|1 year ago

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

fareesh|1 year ago

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

dewey|1 year ago

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.

woodylondon|1 year ago

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

3abiton|1 year ago

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

Tomte|1 year ago

> 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.

JaggerJo|1 year ago

The first two I checked are also missing.

bun_terminator|1 year ago

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

dewey|1 year ago

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

ilrwbwrkhv|1 year ago

> No ChatGPT/SEO generated bullshit.

Amen.

yyyyybb|1 year ago

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