1
我試圖解析HTML文檔,但BS4無法解析特定標籤屬性:BeautifulSoup 4解析屬性的錯誤
<select class="inputNormal" id="TipoImmobileDaNonImportare" name="TipoImmobileDaNonImportare" style="width:100%">
<option value=""></option>
<option value="unità immobiliare urbana">unità immobiliare urbana</option>
<option value="particella terreni">particella terreni</option>
</select>
當我打印,錯誤
AttributeError: 'tuple' object has no attribute 'items'`
the tag and attribute i print:`select: (u'style', u'class', u'name')`
instead of (for example): `input: {u'type': u'hidden', u'name': u'Immobile_Note', u'value': u'Ubicazione occupazione', u'id': u'Immobile_Note'}`
更新: 如果我嘗試soup.find_all(attrs= {'id' : 'somevalue' })
它失敗,因爲嘗試訪問樹的所有屬性!
如果我嘗試:
s = BeautifulSoup("""<select class="inputNormal" id="TipoImmobileDaNonImportare" name="TipoImmobileDaNonImportare" style="width:100%">
<option value=""></option>
<option value="unità immobiliare urbana">unità immobiliare urbana</option>
<option value="particella terreni">particella terreni</option>
</select>""")
解析器正確檢測到它:
select: {'id': 'TipoImmobileDaNonImportare', 'style': 'width:100%', 'class': ['inputNormal'], 'name': 'TipoImmobileDaNonImportare'}
我嘗試用LXML解析器和html5lib解析器解析它,但結果是一樣的。
感謝您的回覆。
編輯: 感謝阿曼達,但是在我的代碼中有一個錯誤,我試着在tag.attrs
存儲一個簡單的對象,因爲這段代碼是從bs3移植到bs4! 謝謝。
在這種情況下你想分析或訪問什麼? – Amanda