jafaroka
jafaroka

Reputation: 1

How to get data from IMDb using BeautifulSoup

I'm trying to get the names of top 250 IMDb movies using BeautifulSoup. The code does not execute properly and shows no errors.

import requests

from bs4 import BeautifulSoup

url = "https://www.imdb.com/chart/top"

response = requests.get(url)

rc = response.content

soup = BeautifulSoup(rc,"html.parser")

for i in soup.find_all("td",{"class:":"titleColumn"}):
    print(i)

I'm expecting it show me all of the td tags with titleColumn classes but it is not working. Am I missing something? Thanks in advance!

Upvotes: 0

Views: 81

Answers (1)

HedgeHog
HedgeHog

Reputation: 25048

Remove the : after the class:

{"class:":"titleColumn"}

to

{"class":"titleColumn"}

Example ++

import requests
from bs4 import BeautifulSoup

url = "https://www.imdb.com/chart/top"
response = requests.get(url)

rc = response.content
soup = BeautifulSoup(rc,"html.parser")

data = []

for i in soup.find_all("td",{"class":"titleColumn"}):
    data.append({
        'people':i.a['title'],
        'title':i.a.get_text(),
        'info':i.span.get_text()
    })
    
data

Upvotes: 1

Related Questions