我想把房屋概況分別抓出來並分別儲存為獨立的列進字典裡,但是行內元素沒有辦法直接用for迴圈摳出來。
這是我的程式碼:
soup.select('.house-info li')[1].text.strip()
這是網頁html程式碼:
<li><span class="info-tit">房屋概况:</span>住宅
<span class="splitline">|</span>1室1厅1卫
<span class="splitline">|</span><span title="建筑面积">46m²</span>
<span class="splitline">|</span> (高层)/共18层
<span class="splitline">|</span>南北
<span class="splitline">|</span> 豪华装修
</li>
其實還是很簡單的,你看這個還是有規律的,規律在於有分隔符號|,我寫了個DEMO
透過get_text()得到內在所有內容,然後移除空格。後面你就用split分割吧,後面的不寫了。
如果有問題再交流。
我感覺這個html代碼寫錯了呢,標籤的內容文字在標籤外面
正確的標籤內容就兩個:
房屋概況:
46m²
內部文字
你這種情況,我覺得用 for 迴圈加上正規表示式是最方便的,如果所有模版都是這樣固定的話
用pyquery吧
從 pyquery 導入 PyQuery 作為 Q
Q(text).find('.house-info li').text()