Как я могу проанализировать названия фильмов, сайт динамичен, а фильмы загружаются 25 приращениями. Используя BS4, я могу анализировать только первые 25 https://www.imdb.com/chart/top/
import requests
from bs4 import BeautifulSoup
def parse_movies(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code != 200:
print(f"Ошибка при запросе страницы: {response.status_code}")
return []
soup = BeautifulSoup(response.text, 'html.parser')
movies_info = []
for movie in soup.find_all('li', class_='ipc-metadata-list-summary-item sc-4929eaf6-0 DLYcv cli-parent'):
title_element = movie.find('h3', class_='ipc-title__text')
metadata_elements = movie.find_all('span', class_='sc-300a8231-7 eaXxft cli-title-metadata-item')
if title_element and metadata_elements:
title = title_element.text.strip()
year = metadata_elements[0].text.strip() if len(metadata_elements) > 0 else 'N/A'
duration = metadata_elements[1].text.strip() if len(metadata_elements) > 1 else 'N/A'
rating_element = movie.find('span', class_='ipc-rating-star--rating')
rating = rating_element.text.strip() if rating_element else 'N/A'
age_rating = metadata_elements[-1].text.strip() if metadata_elements else 'N/A'
movies_info.append({
'title': title,
'year': year,
'duration': duration,
'rating': rating,
'age_rating': age_rating
})
return movies_info
url = 'https://www.imdb.com/chart/moviemeter/'
movies = parse_movies(url)
for movie in movies:
print(
f"Название: {movie['title']}, Год: {movie['year']}, Длительность: {movie['duration']}, Рейтинг: {movie['rating']}, Возрастное ограничение: {movie['age_rating']}")
Подробнее здесь: https://stackoverflow.com/questions/793 ... namic-site
Как соскрести названия фильмов на динамичном сайте? ⇐ Python
Программы на Python
-
Anonymous
1737885931
Anonymous
Как я могу проанализировать названия фильмов, сайт динамичен, а фильмы загружаются 25 приращениями. Используя BS4, я могу анализировать только первые 25 https://www.imdb.com/chart/top/
import requests
from bs4 import BeautifulSoup
def parse_movies(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code != 200:
print(f"Ошибка при запросе страницы: {response.status_code}")
return []
soup = BeautifulSoup(response.text, 'html.parser')
movies_info = []
for movie in soup.find_all('li', class_='ipc-metadata-list-summary-item sc-4929eaf6-0 DLYcv cli-parent'):
title_element = movie.find('h3', class_='ipc-title__text')
metadata_elements = movie.find_all('span', class_='sc-300a8231-7 eaXxft cli-title-metadata-item')
if title_element and metadata_elements:
title = title_element.text.strip()
year = metadata_elements[0].text.strip() if len(metadata_elements) > 0 else 'N/A'
duration = metadata_elements[1].text.strip() if len(metadata_elements) > 1 else 'N/A'
rating_element = movie.find('span', class_='ipc-rating-star--rating')
rating = rating_element.text.strip() if rating_element else 'N/A'
age_rating = metadata_elements[-1].text.strip() if metadata_elements else 'N/A'
movies_info.append({
'title': title,
'year': year,
'duration': duration,
'rating': rating,
'age_rating': age_rating
})
return movies_info
url = 'https://www.imdb.com/chart/moviemeter/'
movies = parse_movies(url)
for movie in movies:
print(
f"Название: {movie['title']}, Год: {movie['year']}, Длительность: {movie['duration']}, Рейтинг: {movie['rating']}, Возрастное ограничение: {movie['age_rating']}")
Подробнее здесь: [url]https://stackoverflow.com/questions/79387195/how-to-scrape-movie-titles-on-a-dynamic-site[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия