Python爬蟲如何爬取span和span中間的內容並分別存入字典裡?
phpcn_u1582
phpcn_u1582 2017-05-18 10:52:42
0
5
2160

我想把房屋概況分別抓出來並分別儲存為獨立的列進字典裡,但是行內元素沒有辦法直接用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>
phpcn_u1582
phpcn_u1582

全部回覆(5)
曾经蜡笔没有小新

其實還是很簡單的,你看這個還是有規律的,規律在於有分隔符號|,我寫了個DEMO

something  = '''<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>''';

soup  = BeautifulSoup(something, 'lxml')
plaintext = soup.select('li')[0].get_text().strip()

透過get_text()得到內在所有內容,然後移除空格。後面你就用split分割吧,後面的不寫了。
如果有問題再交流。

给我你的怀抱

我感覺這個html代碼寫錯了呢,標籤的內容文字在標籤外面

正確的標籤內容就兩個:

  • 房屋概況:

  • 46m²

巴扎黑

內部文字

滿天的星座

你這種情況,我覺得用 for 迴圈加上正規表示式是最方便的,如果所有模版都是這樣固定的話

黄舟

用pyquery吧

從 pyquery 導入 PyQuery 作為 Q

Q(text).find('.house-info li').text()

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板