Я пытаюсь самостоятельно изучить работу с использованием Python как часть усилий по изучению анализа данных. Я пытаюсь очистить веб-страницу imdb, URL которой следующий: http://www.imdb.com/search/title?sort=num_votes,desc&start=1&title_type=feature&year=1950,2012
Я использую модуль BeautifulSoup. Ниже приведен код, который я использую:
r = requests.get(url) # where url is the above url
bs = BeautifulSoup(r.text)
for movie in bs.findAll('td','title'):
title = movie.find('a').contents[0]
genres = movie.find('span','genre').findAll('a')
genres = [g.contents[0] for g in genres]
runtime = movie.find('span','runtime').contents[0]
year = movie.find('span','year_type').contents[0]
print title, genres,runtime, rating, year
Я получаю следующие выводы:
The Shawshank Redemption [u'Crime', u'Drama'] 142 mins. (1994)
Используя этот код, я мог очистить название, жанр, время выполнения и год, но я не мог очистить идентификатор фильма imdb или рейтинг. После проверки элементов (в браузере Chrome) я не смог найти шаблон, который позволил бы мне использовать код, аналогичный приведенному выше.
Кто-нибудь может мне помочь написать кусок кода, который позволит мне очистить идентификатор фильма и рейтинги?
rating
не определен. Если вы исправите это, вы также можете добавитьfrom BeautifulSoup import BeautifulSoup
, иimport requests
. И почему бы не показать,url="http://etc"
чтобы нам не приходилось делать это для себя?