2017-04-21 2 views
2

Ich versuche einen Web-Scraper zusammenzustellen und bin mit diesem Fehler gestolpert, den ich nicht kenne, wie man das ändern kann, ich habe mit dem Fehler nachgesehen gleicher Name, aber sehe nicht die Ähnlichkeit mit mir .. Ich bin ziemlich neu auf diesem BTW.Mit Strings/Text arbeiten, TypeError: 'NoneType' -Objekt ist nicht aufrufbar

Der Code ist die folgende,

import bs4 as bs 
    from urllib import urlopen as uReq 
    sauce = uReq('http://servicios.lanacion.com.ar/archivo-f11/02/2017-c30') 
    soup = bs.BeautifulSoup(sauce,'html.parser') 
    acumulados = soup.findAll('li',{'class':'acumulados'}) 
    filename = 'LaNacion.csv' 
    f = open(filename,'w') 

    headers = "Título, Encabezado\n" 
    f.write(headers) 

    for acum in acumulados: 
     title = acumulados[0].a 
     encabezado = acumulados[0].p 

     f.write(title.replace(',',' ') + ',' + encabezado.replace(',',' ') + '\n') 
    f.close() 

Dank!

Antwort

1

beide title und encabezado sind vom Typ bs4.element.Tag. title.replace ist None.

f.write(str(title).replace(',',' ') + ',' + 
     str(encabezado).replace(',',' ') + '\n') 
+0

Ja:

Sie wahrscheinlich, dies zu tun gemeint! Danke, also was ich lerne ist, dass du mit dem'tr' zu einem Objekt mit der Methode des Platzes wirst, oder? Danke nochmal –

+0

Ja, 'str' (welches die' __str __ (self) 'Methode für eine Klasse aufruft) gibt ein String Objekt zurück. Diese haben eine 'Replace'-Methode. –

Verwandte Themen