2016-11-09 1 views
1

Ich versuche bekommen, den href-Link für einen Film (ex: Iron Man auf IMDB suchen) zu bekommen, aber ich kann es nicht scheinen, . Ich erhalte immer "None", wenn ich den Code ausführe, aber wenn ich .get ('href') entferne, gibt der Code die gesamte Zeile von html zurück (einschließlich des gewünschten Links). Ich schätze jede Hilfe mit diesem. Vielen Dank!Scraping IMDB.com mit beautifulsoup in Python aber nicht href von Film Link

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').get('href') 


    return next_page 


next_page_url = scrape_find_next_page(url) 
+0

es sieht aus wie Sie die href eines '' Element bekommen und nicht einen Link –

+0

Überall, wo ich nur gesehen haben, diese 'für Link in der Suppe .findAll ("a"): print link.get ("href") ' –

Antwort

0

Sie versuchen die href von td zu erhalten, die das Attribut nicht existiert. Sie müssen die a Tag erhalten, die das href Attribut enthält

next_page = soup.find('td', 'result_text').find('a').get('href')

Verwandte Themen