├── .idea └── vcs.xml ├── README.md ├── get_IMDB_rate_for_AMC.py ├── get_AMC_movies.py └── get_IMDB_rating.py /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AMC movies IMDB ratings 2 | 3 | Learning Python while getting the IMDB rating for movies currently played at AMC theatres. 4 | To get the latest ratings, type: 5 | 6 | ```bash 7 | python get_IMDB_rate_for_AMC.py 8 | ``` -------------------------------------------------------------------------------- /get_IMDB_rate_for_AMC.py: -------------------------------------------------------------------------------- 1 | from get_AMC_movies import get_AMC_movies 2 | from get_IMDB_rating import get_IMDB_rating 3 | 4 | if __name__ == '__main__': 5 | movies = get_AMC_movies() 6 | ratings = tuple(get_IMDB_rating(movie) for movie in movies[:10]) 7 | print('> IMDB ratings of 10-top movies at AMC\n') 8 | print(*zip(movies, ratings), sep='\n') 9 | -------------------------------------------------------------------------------- /get_AMC_movies.py: -------------------------------------------------------------------------------- 1 | from urllib.request import urlopen 2 | from bs4 import BeautifulSoup 3 | 4 | URL = 'https://www.amctheatres.com/movies' 5 | 6 | 7 | def get_AMC_movies(): 8 | conn = urlopen(URL) 9 | soup = BeautifulSoup(conn, 'html.parser') 10 | movies = soup.find_all(name='div', class_='MoviePostersGrid-poster') 11 | titles = tuple(m.find(name='a')['aria-label'] for m in movies) 12 | return titles 13 | 14 | 15 | if __name__ == '__main__': 16 | print(' > Top-5 movies playing at AMC theatres') 17 | print(*get_AMC_movies()[:5], sep='\n') 18 | -------------------------------------------------------------------------------- /get_IMDB_rating.py: -------------------------------------------------------------------------------- 1 | from bs4 import BeautifulSoup 2 | from urllib.request import urlopen 3 | from urllib.parse import urlencode 4 | 5 | URL = 'https://www.imdb.com/search/title?' 6 | 7 | 8 | def get_IMDB_rating(title): 9 | url = URL + urlencode({'title': title}) 10 | conn = urlopen(url) 11 | soup = BeautifulSoup(conn, 'html.parser') 12 | movie = soup.find('div', 'lister-item mode-advanced') 13 | rating = movie.strong.text 14 | return rating 15 | 16 | 17 | if __name__ == '__main__': 18 | title = input('Movie title (Glass): ') 19 | print(get_IMDB_rating(title)) 20 | --------------------------------------------------------------------------------