2017-06-17 23 views
0

私はPythonを初めて使用しています。私はbeautifulsoupを使用しているWebクローラを持っています。それは動作しますが、以下の場合、 'None type object has no attribute'というエラーが返されます。私はエントリーがないページを見つけたことを意味することを知っています。 このエラーを停止して、エントリを持つ他のすべてのページを返すようにするにはどうすればよいですか。 Webクローラの一部のページにはエントリがあり、一部は空白です。タイプオブジェクトにwebcrawlerの属性エラーがありませんPython

bbb = re.compile('First listed') 
    next_s = soup.find(text=bbb).parent.parent.get_text(strip=True) 

おかげ

答えて

1
bbb = re.compile('First listed') 
next_s = soup.find(text=bbb) 
if next_s is not None: 
    # node exists 
else: 
    # node does not exists 
+0

'next_sがNoneでない場合:' 私は下に置くか何のおかげ? – hello11

+0

は、スクリプトのロジックに依存します。あなたがリンクのリストを持っていて、それを 'for'ループで反復してから、' continue'を使って次の繰り返しを行います。 – Linch

+0

私はコーディングが新しく、その意味があまり分かりません。 クローラには多くのリンクがありません。私のコードのほとんどは以下のとおりです。 デフget_single_item_data(item_url): source_codeが= requests.get(item_url) plain_text = source_code.text スープ= BeautifulSoup(plain_text) BBB = re.compile( '最初にリスト') next_s = soup.find(テキスト= (住所、価格、寝室、説明、販売、next_s、next_ss) – hello11

関連する問題