extrahiert Ich bin nach mehreren Iterationen fest und kann nicht herausfinden, was ich hier falsch mache, aber ich nehme an, dass es etwas mit dem Variablentyp zu tun hat, den ich betrachte.Wenn Anweisung den Variablenwert aus BeautifulSoup
Ich bin Parsen einige html von einer Website:
from bs4 import BeautifulSoup
import urllib2
url = 'XXX'
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page, "html.parser")
soup.prettify()
tag = soup.find("div", { "class" : "no-results--header" })
no_product = tag.text
Wenn ich den Wert für no_product beurteilen finde ich:
print no_product
#No Product
print type(no_product)
#<type 'unicode'>
Wenn ich jetzt versuchen, eine if-Anweisung zu bewerten dies nicht funktioniert aus:
if no_product == 'No Product':
print 'Success'
else:
print 'Failure'
Diese if-Klausel gibt immer 'Fehler' zurück. Ich habe versucht, die no_product Variable als Zeichenkette mit
zu kodieren. Noch die if-Anweisung wird "Fehler" zurückgeben.
Ich verwende Python 2.7.10.
Was gibt 'print repr (no_product) 'aus? – jwodder
u '\ nKein Produkt \ n' – Tom
wie Tom sagte, fügen Sie einfach die u. Ich bin nicht so sicher wie er, dass Sie die Zeilenumbrüche brauchen. – nycynik