Как найти валовую стоимость на странице IMDB - PullRequest
0 голосов
/ 14 февраля 2019

С Beautifulsoup я нахожу значение голосования на странице с

vote = container.find('span', attrs = {'name':'nv'})['data-value']

как мне найти значение для брутто, потому что это то же имя диапазона?

Страница - Выпущена в период с 2018-01-01 по 2018-12-31

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Не очень питонический способ делать вещи, но я вроде играл с ним.

from bs4 import BeautifulSoup
import requests

def get_imdb_data(url):
    data = requests.get(url)
    soup = BeautifulSoup(data.text)
    divs = soup.findAll('div', {'class':'lister-item'})
    movies = []
    for div in divs:    
        movie = {}
        movie['name'] = div.find('h3').find('a').text
        spans = votes = gross = None
        try:
            spans = div.findAll('span', {'name':'nv'})
            try:
                movie['votes'] = spans[0]['data-value']
            except:
                pass
            try:
                movie['gross'] = spans[1]['data-value']
            except:
                pass
        except:
            pass
        movies.append(movie)
    return movies

url = 'https://www.imdb.com/search/title?release_date=2018&sort=num_votes,desc&page=1'
data = get_imdb_data(url)
print(data)
0 голосов
/ 14 февраля 2019

возможно, используйте findAll и выберите второй элемент, чтобы получить значение поля Gross.Например:

elements = container.findAll('span', attrs = {'name':'nv'})
votes = elements[0]['data-value']
gross = elements[1]['data-value']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...