Scraping Roger Ebert’s reviews and finding his favorite movies on Amazon Prime
linisnil.com
linisnil.com
import requests
session = requests.session()
# now use session like you would requests
session.get("http://httpbin.org/cookies/set/name/value")
print(session.get("http://httpbin.org/cookies").content)[0] https://www.rogerebert.com/features/where-to-find-roger-eber...
Useful tip for finding which streaming service a film is on: google “film name streaming” and google lists the answers in a box at the top of the results.
I'm much more worried of the day when Bluray and DVD won't be made anymore. Which might be pretty soon. Also storing hundreds of discs is a big chore. I rip everything, but that is beyond the abilities of most and the equipment is becoming even more niche than the play equipment. (Some people don't even know their Playstation can play DVD and Bluray movies!)
Srsly?
I had a simple DVD Collection of over 100. If you buy 1-4 DVDs per Week, you already have min. 100 dvds after 2 years.
It is neither expensive nor difficult to do.
Also, your 100 DVDs is nothing when the canon of great films in the opinion of most film scholars would easily approach a thousand titles.
I'm serious.
I'm only aware of this issue for specific smaller docus which haven't been aired much and not much interest exists. I had to buy that from different countries etc.
Criterion's web store (https://www.criterion.com/shop) has sales all the time. There's one on right now through June 15 that gives you 30% off all titles. I picked up two titles through a 50% off sale last month. Subscribe to their email list or follow them on social media and they'll give you a heads up when the next one is coming.
As for "there is not an objectively agreed upon list of the great films", there may not be one single list, but as a broad consensus one can take the overlapping suggestions of the critics who contribute to the Sight and Sound poll, the winners at Cannes and Venice, those films and directors who have been celebrated year after year in Cahiers du Cinéma, and so forth.
Yes it is, especially when you said that it is a requirement for a service to have a certain list of movies, and then admit that that no such list exists. Therefore, a service can never meet your stated requirements (and therefore, you've created a self fulfilling framework to justify your piracy of certain movies). If you're playing so fast and loose with what constitutes a list of great films, then you can subscribe to the Criterion Collection and call it a day.
it is peculiar that you chide someone for "justifying piracy"
You said piracy of certain films was ok because of their lack of inclusion in a service didn't meet your requirements, requirements that could never be met. I'm saying it's wrong to knowingly create unrealistic requirements and justifying piracy based on that.
If you're going to change your argument to say that certain films should be free to all, due to certain significance to the public, that's a different stance (and one I'm more sympathetic to).
How long does it take to watch all the great films on a streaming service (not end to end, I mean as far as watching movies fits into your weekly schedule)?
A streaming service will have a different set of movies by then. Yes, some movies will have left the platform, but some will have been added. Some will have remained too!
If you're going to come back and say you've reached the end, you've watched everything you wanted to and were still left wanting, first off, congratulations. Second, I would argue that most regular streaming services are not meant for (or marketed toward) a cinephile such as yourself.
DVDs are also pretty poor quality now-a-days being interlaced and ripping either is slow and painful. It's funny how DVDs looked so good at one point. Now they look pretty poor on a 60inch 4k TV.
And, since we're talking about mostly old movies, I recently tried to purchase as a gift 8 famous award winning USA movies from the 30s-40s as DVDs or Blu-Rys, most of them are out of print. One claims to be in print but was out of stock according to Amazon. A few you could get for ridiculous prices out of some collectors store. A movie from 1940 is 80yrs old. It really shouldn't cost $60 in fact arguably those movies should be public domain but I'm not crossing my fingers it will ever happen.
There was a time when I hoped Netflix would do something similar: click here to see your favorite critics film list, but since Netflix has lost the streaming rights to soooo many films compared when they first started streaming ca. 2007, this is not doable. (Even DVD rights in most cases: films that are in my "Movies You Rated" queue from 2003 are no longer in Netflix's library.)
Further, they make “innovation” like auto play when nobody asked for this, and without any way to stop it (unless you go to desktop and disable it deep in your settings).
When searching you will receive similar results for titles they used to have... well why not state “are you searching for x? It’s no longer available, here are some recommendations” so the user isn’t wasting time wondering if the search feature is just “bad”.
In the world of constant, unannounced, and live experimenting on huge user bases a little messaging goes a long way (with the comparison being nothing)
"The Man Who Shot Liberty Valance" is a good movie but if you want some other westerns starting James Stewart I can recommend "Destry Rides Again" which is not super serious but I found it throughly entertaining. Also "Broken Arrow" (1950), (not the 90s John Woo movie which is a fun popcorn movie).
Seeing "The Good, the Bad, and the Ugly" on the list I recently saw "The Outlaw Josey Wales" which I enjoyed (also a Western with Clint Eastwood)
Of the movies on that list I've seen the one I'd recommend the most is "Women in the Dunes". I don't want to over hype it I've seen most of the movies on the list and they are all great stories but "Woman in the Dunes" might give you something new to think about where as the others are mostly just great entertainment.
From what I remember, the database was cataloged and maintained by actual humans, and not some algorithm following behavior patterns.
This does almost exactly what you describe. I really like it. Not human curated but matches your preferences with other humans with similar preferences to give you recs.
This solution uses a generous 87s delay to retrieve the Amazon pages. There are 328 films listed as "great movies" on rogerebert.com. As such, the script, named "1.sh", needs 8h to complete, e.g., the time while you are at work or sleeping. No cookies, no state, no problems.
Usage: sh -c 1.sh > 1.html
Open 1.html in a browser and it shows whether each "great movie" is available as Prime Video or whether it is only available in some other format, such as Blu-ray, DVD, Multi-format, Hardcover. A link to the item on Amazon is provided. #!/bin/sh
curl -HUser-Agent: -H'Accept: application/json' --compressed 'https://www.rogerebert.com/great-movies/page/[1-16]?utf8=%E2%9C%93&filters%5Btitle%5D=&sort%5Border%5D=newest&filters%5Byears%5D%5B%5D=1914&filters%5Byears%5D%5B%5D=2020&filters%5Bstar_rating%5D%5B%5D=0.0&filters%5Bstar_rating%5D%5B%5D=4.0&filters%5Bno_stars%5D=1'|grep -o "/reviews/great-movie-[^\\]*"|sed 's/.reviews.great-movie-//'|sort|uniq|while read x;do y=$(echo $x|sed 's/-/+/g');echo $x;curl -s --compressed -HUser-Agent: https://www.amazon.com/s/?k=$y 2>/dev/null|grep -m1 -C4 a-link-normal.a-text-bold;sleep 87;done|sed '/^[^< ]/s/.*/@&,/;1s|.*|<base href=https://www.amazon.com />&|;s/ *//;/^$/d;/^[@<]/!s|$|</a>|;1s/@//;s/@/<br>/'So, only in a few Ebert productions like his "Great Movies" books can one get a sense of the films that really mattered to the man and to art. Compare this to a critic like Richard Brody, who in his career has been fortunate to focus entirely on art cinema (though of course Brody’s net worth is probably an order of magnitude less than Ebert’s was).
edit: The introduction alone makes the book worth reading:
> Of all the arts, movies are the most powerful aid to empathy, and good ones make us into better people. Not many of them are very good.
[1] - https://www.rogerebert.com/roger-ebert/okay-kids-play-on-my-...
First, he has biases. Go and read his review of Leon (aka The Professional) and you will know what his gut reaction will be to something like Moretz's role in Kick-Ass. He didn't seem to pay much attention during "genre" flicks and a couple of his review shows that. However, he displayed his biases clearly. You could account for them. He did not dress them up in academic language or try to justify them in a manner that was beyond any reproach. I could mentally just adjust for what I would get out of his reviews of most horror films. Because people have biases, an open reckoning of them is as fair as you can get.
Second, reviews are to be written on multiple levels, each accounting for a different audience. What I call the TV Guide review consists of stars granted, a few actors mentioned, and a very brief subject summary. At another level, he writes for people who want to know, "Given what I care about, would I want to spend my time and money seeing this film?" At a third level, he talks to people who have already seen the movie, people who have the ability to engage with the language of film and debate its merits. Each of these levels is valuable. Each is its own particular craft and requisite skills, not to be evaded no matter what the subject matter.
I sometimes disagreed with his ratings but I rarely found a review which did not add something to my experience of a movie.
The list (both on my post + the google sheet) should be correct now - I underestimated how many different releases of the SAME movie title there are ...
Thanks all for catching the mistakes.
e.g. for "Moonstruck", the link leads to:
"www.linisnil.com/articles/scraping-roger-ebert-reviews-and-amazon/www.rogerebert.com/reviews/great-movie-moonstruck-1987"
instead of:
"www.rogerebert.com/reviews/great-movie-moonstruck-1987"
I honestly watch fewer films since his death.
Maybe this list will change that.
Also "Spirited Away" is on the list but doesn't seem to be included with prime.
After we were done, I noticed there were a handful of HD torrents in various languages. Reminded me immediately of Gabe Newell's thoughts on pirating games: "Piracy is almost always a service problem and not a pricing problem".
Other times, I get no issue at all. It's weird - maybe they're doing some pattern matching on request metadata on their end?
IMO, John Ford's best movie, hands down.
Unfortunately, it is not actually available on Prime without "CBS All Access" [Edit: ah, I see that this is not just "Included with prime", but all movies]
So this is a feature, not a bug. Mostly because I’ve accepted how backwards the movie industry is going to be with copyright. But still having the option is the less evil.
That said, Maybe the UI can make this more obvious?
It kinda taints the other content. You ask internal.. Is it really available without subscribing? to channels you have access to. Then you finally click and they have season 1 and 3 and 5 of some show. Terrible UI. Feels like you get so much less than you do.
With netflix it feels like you could just fall into a series immediately.
https://www.rogerebert.com/reviews/beyond-the-valley-of-the-...
That was going to be my suggestion for how to get around the anti-robot responses.
that, combined with cookies enabled, still didn't seem enough to get around the anti-robot barrier 100% of the time. 20% of the time, I get stopped.
My guess is that they must do some kind of pattern matching on their end that kicks for some sets of requests but not others? But maybe it's not that sophisticated and I'm just missing something else in my headers
https://www.rogerebert.com/reviews/great-movie-gates-of-heav...
I find globally ordered rankings of movies to be an interesting exercise of consistency.
pip3 install BeautifulSoup pip3 install mechanize mkdir data
Guess you can check data directory but not sure about the pip3, python does not like R I am not sure and can it pip3 install when not exist ....
Why won't they get streamed? 1980 is 40 years ago, and movies pushing 40+ years old aren't in the day-to-day zietgiest and aren't getting a lot of searches. Newer movies still catch eyeballs occasionally. I'd bet '87 is where the long-tail drops off noticeably.
I assume from that many studios had to come up with their first licensing schemes for movies "for home use" (contrary to movie theater and broadcast use), which could potentially still apply to (and restrict) streaming.
Once again, this is my personal hypothesis (and I'd be happy to see some data to support or contradict it).
And following the dark pattern path to unsubscribe. I'm happy that I did it.
Fyi, I'm from Belgium
I'm having flashbacks to the chiseled borders of Netscape.
I'm actually going to be cancelling my prime membership, which is another reason I wanted to see what I could watch for "free".
https://letterboxd.com/dvideostor/list/roger-eberts-great-mo...
You can look at each movie to see what streaming service it's on one at a time for free.
If you have a pro paid account, you can even do:
https://letterboxd.com/dvideostor/list/roger-eberts-great-mo...
Which shows that there are 39 movies in Amazon Prime US from Ebert's "Great Movies," not 21 like this guy's spreadsheet says.
To be fair, the exercise was to scrape the reference sources... so it might just need some refinement.
Need to double check though if both lists are correct, only confirmed number totals.
Full disclosure: That letterboxd list is not mine, I just found it
Just the great movies:
https://letterboxd.com/re2/tag/great-movie/films/by/release-...
You can then filter those by streaming service, but you need a pro account. Looks like 38 movies:
https://letterboxd.com/re2/tag/great-movie/films/on/amazon-p...
Apparently I missed the Buster Keaton movies:
https://www.rogerebert.com/reviews/great-movie-the-films-of-...
https://letterboxd.com/director/buster-keaton/
But that means 39 isn't quite right either since Ebert is saying all of Buster Keaton's films are great.
Anyway, the scraping was easy. The harder problem was parsing the html reviews (even with BeautifulSoup, the html is a mess), and then matching the reviews on Ebert's site to the correct movie, which I did via queries to tmdb and a lot of heuristics. There's nearly 8000 reviews and many have wrong years, bad titles, etc on rogerebert.com. It was a fun spare time project for a couple weeks.
Yeah, I bet there's not a great standard for normalization/corrections of tiles, making a distinction of like when a movie was made and when a movie was released and translations and imports.
Good work.
I didn't use the letterboxd api. Instead, I generated csv files for the letterboxd importer. I then did a csv export from their site I could reconcile to look for import errors.
Trivia: Ebert reviewed a few adult films which I couldn't import to letterboxd because the site officially doesn't allow those.
BTW, it's only $19/year for an account. I have my own account I pay for which follows the re2 account. That way I can easily see any of the re2 reviews for movies in my own watchlist.
I could be wrong, I am not a Prime Video user, but the result I got was that there are 217 movies in Prime Video from Ebert's great movies.
links -dump 1.html|grep -c Prime.Video
Instructions on how to generate 1.html are here: https://news.ycombinator.com/item?id=23508182You could track your own personal rating of the movies, then regress these ratings against a variety of external rating sources (IMDB, ebert, etc) to see which is the most predictive.
e.g. "Blood Machines" - which I can see why a lot of people dislike it but I think it is awesome.
Edit: Probably not a great idea to search for it if you have a problem with nipples.
I do think that that there is something to media that creates a "love it or hate it" response. It's usually trying something new (Blood Machines certainly was).
p.s.: I saw Blood Machines when it premiered on Shudder & really enjoyed it.
P.S.: And audience score should roughly be above 70.
Even Ebert, who was a relatively "everyman" sort of critic, definitely had a serious film critic persona if you've ever listened to any of his DVD commentaries.
It does get repetitive. It is boring. It does become a job.
Critics are elites.
Same thing happens in music. You get critics rating albums in magazines. Some people rely on them but most listen to the radio and pick songs they like based on that.
IMDB always seems to skew mid-high since they're averaging out lots of "star" ratings. Seeing 3.5 stars doesn't tell me much. But even if 90% of the reviews were "nothing amazing, but fun to watch" then there's a chance it might be fun to watch.
Obviously it's just a tool for sorting and surfacing options, but it can be useful. I probably won't depend on a review aggregator to decide whether or not to go see a movie in the theater, but they are helpful when I see a movie/show pop up on Netflix or Amazon and I want to see if the general consensus is "worth a watch" or "effing terrible".
They sometimes over-rate things people in their position cannot be seen disliking because it's about Societal Importance or some such thing that has little to do with actual quality. And conversely, they sometimes ignore or under-rate things because they cannot be seen to overly praise a work that's criticised for things having little or nothing to do with actual quality.
Thing is, I don't need to be culturally influenced, have my outdated views updated to match what's currently considered mainstream, my privilege checked, etc. I just want to watch a good fucking movie and decide for myself whether it contains a message that changes my mind on a topic.
For example, critics and users disagree on The Shape of Water[0] (users are right, it's very mediocre). They also disagree on Green Book[1] (users are right again, it's a great film even if it doesn't tick all the wokeness and political correctness checkboxes).
no, the green book is awful, a particularly bad example of the feel-good movie, never once inviting the viewer to get lost in a believable world, instead inviting the viewer to question every directorial decision made. it was fake and pretentious at the same time, and completely safe around race relations.
the shape of water was not perfect, but better. not the best example of interracial relations (metaphorically), but gentle, revealing, quirky, ambient, and unpretentious.
What's the easiest way to do this?
It looks like it's actually not as easy to find any more if you try to find it on their developer portal as it's been revamped recently with their official paid API.
So, in effect if you’re on a site that deals with a set of items, like the amazon prime movies, you can tell the browser to intersect this set with a different set at another URL.
I understand that doing this would require the right ‘infrastructure’ to be in place.
If everyone is going to make their own streaming service then there needs to be a standard interface to make them collectively easier to use. A "guide", if you will.
All the paid options hold on to their APIs way too tight to let anything like this to be viable.
I'd love to have a service that would cross-reference my queue of movies and TV shows and tell me which service has the most matches so that I'd know which one to pay for each month.