の場合、私はいくつかの繰り返しの後に立ち往生し、ここで間違っていることを理解することができませんが、私はそれが私が見ている可変型と関係があると仮定します。beautifulsoupから抽出した変数の値を比較するステートメントが
私はサイトから一部のHTMLを解析しています:私は今、これが動作しないif文を評価しようとすると
print no_product
#No Product
print type(no_product)
#<type 'unicode'>
:私は、私が見つけno_productの値を評価するとき
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
out:
if no_product == 'No Product':
print 'Success'
else:
print 'Failure'
このif節は常に「失敗」を返します。文字列としてno_product変数をエンコードしようとしました。
no_product = no_product.encode('ascii','ignore')
なお、if文は「失敗」を返します。
私はPython 2.7.10を実行しています。
'print repr(no_product)'は何の出力ですか? – jwodder
u '\ nNo Product \ n' – Tom
Tomが言ったように、単にuを追加します。私は彼があなたに改行が必要であると確信していません。 – nycynik