私はちょうどPythonとbs4を学び始めています。そして、私はこのようになりますhtmlページを解析しようとしています:BeautifulSoupのfindメソッドはタグ項目を返しますが、呼び出し文字列get 'NoneType'エラー
....
<p class="result-info">
<span class="result-meta">
<span class="result-price">$1895</span>
<span class="result-hood"> address1 </span>
</span>
....
私のPythonコード以下の通りです:
soup = BeautifulSoup(allResponse.content)
resultInfoTags = soup.find_all("p", class_="result-info")
infoList = []
for infoTag in resultInfoTags:
infoDS = {}
infoDS['detail_link'] = infoTag.find("a")['href']
for metaData in infoTag.find_all("span", class_="result-meta"):
firstSpan = metaData.find("span");
infoDS['price'] = firstSpan.string
lala = metaData.find("span", class_="result-hood")
infoDS['area'] = lala.string
infoList.append(infoDS)
エラーがラインinfoDS['area'] = lala.string
で発生します。それは
AttributeError: 'NoneType' object has no attribute 'string'
を文句を言うしかし、私はタイプ(ララ)を印刷するとき、それはララが<class 'bs4.element.Tag'>
であることを示しています。私はfirstSpanを取得するために同じ考えを使用していますし、それが右の列に$ 1895を出力する任意の問題を持っていないので、私はララ自体を印刷するとき、それは全体のタグテキスト
<span class="result-hood"> (address1)</span>
を示し、私は混乱しています。しかし、それはララでは機能しません...私は必死に調査し、オンラインで検索するのに数時間を費やしましたが、役に立たないものは見つかりませんでした...
ご意見やご要望があれば幸いです!
投稿すべてhtmlコードを投稿してください –