2016-08-07 3 views
1

は私code.`は、私はクラスのリスト項目を持っているすべての「李」のタグを検索したい以下

import urllib 
from BeautifulSoup import * 
html=urllib.urlopen('http://yellowpages.sulekha.com/coffee-shops-bars-restaurants_delhi') 
soup=BeautifulSoup(html) 
tags=soup.findAll("li",{ "class" : "list-item" }) 

print tags 

ある辞書を通じてbeautifulsoupにタグを見つけることができません'私は上記のコードを実行すると、それは空のリストを返し、私は

tags=soup.findall("li","list-item") 

としてそれを入力するときには、すべての必要な「李」タグで正しいリストを返します。誰もがなぜこれが起きているのか教えてもらえますか?私はpython 2.7とbeautifulsoup3を使用しています。

+0

python 2.7についてはコメントできませんが、上記のコードは、あなたが言っていることは、Python 3.5でもうまくいきます。私は 'urllib.urlopen()'を 'html = urllib.request.urlopen()'に変更し、あなたのURLのその偽のスペースを修正しました。 –

答えて

1

私はあなたが掻き集めようとしていたサイトを見て、list-itemを探しました。それから私は、私はクラスが"list-item "ない"list-item"であることがわかり以下

<li class="list-item " itemtype="http://schema.org/LocalBusiness" itemscope=""> 

ように見えたものを見ました。コードに余分なスペースを追加すると、すべてのリスト項目を含むリストが返されます。

+1

これに返信いただきありがとうございます。私はこの解決法を無駄なく探し求めたうえでうんざりしましたが、この小さな間違いを見るのは苦になりませんでした。どうもありがとうございました。 –

関連する問題