Я пытаюсь очистить IMDB, чтобы найти конкретный заголовок, ввести первую ссылку в результатах поиска, а затем распечатать год (и позже другую информацию) о том, что фильм был выпущен, но я не может показаться, что какая часть html помещается в .find().Скребок IMDB с красотой в Python; результат поиска, затем введите ссылку и получите год
Первая функция работает и собирает исходный url и соединяет ее с новой второй частью URL-адреса (для страницы фильма).
Спасибо за помощь, застряли на этом в течение нескольких дней!
from bs4 import BeautifulSoup
import requests
from urllib.parse import urljoin # For joining next page url with base url
search_terms = input("What movie do you want to know about?\n> ").split()
url = "http://www.imdb.com/find?ref_=nv_sr_fn&q=" + '+'.join(search_terms) + '&s=all'
def scrape_find_next_page(url):
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
next_page = soup.find('td', 'result_text').find('a').get('href')
return next_page
next_page_url = scrape_find_next_page(url)
new_page = urljoin(url, next_page_url)
def scrape_movie_data(next_page_url):
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
title_year = soup.find('span','titleYear').find('a').get_text()
return title_year
print(scrape_movie_data(new_page))
использование DevTool в Chrome/Firefox, чтобы найти элемент (если страница Безразлично» t использовать JavaScript для загрузки dat а). – furas