Python爬蟲如何爬取span和span中間的內(nèi)容并分別存入字典里?
問題描述
我想把房屋概況分別抓出來并分別作為獨立的列存儲進(jìn)字典里,但是行內(nèi)元素沒有辦法直接用for循環(huán)摳出來。這是我的代碼:
soup.select(’.house-info li’)[1].text.strip()
這是網(wǎng)頁html代碼:
<li><span class='info-tit'>房屋概況:</span>住宅<span class='splitline'>|</span>1室1廳1衛(wèi)<span class='splitline'>|</span><span>46m2</span><span class='splitline'>|</span> (高層)/共18層<span class='splitline'>|</span>南北<span class='splitline'>|</span> 豪華裝修 </li>
問題解答
回答1:其實還是很有簡單的,你看這個還是有規(guī)律的,規(guī)律在于有分隔符|,我寫了個DEMO
something = ’’’<li><span class='info-tit'>房屋概況:</span>住宅 <span class='splitline'>|</span>1室1廳1衛(wèi)<span class='splitline'>|</span><span>46m2</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()得到內(nèi)在所有內(nèi)容,然后去除空格。后面你就用split進(jìn)行分割吧,后面的不寫了。如果有問題再交流。
回答2:我感覺這個html代碼寫錯了呢,標(biāo)簽的內(nèi)容文本在標(biāo)簽外面房屋概況:
46m2
回答3:innerText
回答4:你這種情況,我覺得用 for 循環(huán)加上正則表達(dá)式是最方便的,如果所有模版都是這樣固定的話
回答5:用pyquery吧
from pyquery import PyQuery as Q
Q(text).find(’.house-info li’).text()
相關(guān)文章:
1. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?2. javascript - [js]為什么畫布里不出現(xiàn)圖片呢?在線等3. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風(fēng)格檢查怎么辦。。。4. javascript - iframe 為什么加載網(wǎng)頁的時候滾動條這樣顯示?5. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變6. sql語句 - mysql中關(guān)聯(lián)表查詢問題7. javascript - 求解答:實例對象調(diào)用constructor,此時constructor內(nèi)的this的指向?8. javascript - 有什么比較好的網(wǎng)頁版shell前端組件?9. html - vue項目中用到了elementUI問題10. css - chrome下a標(biāo)簽嵌套img 顯示會多個小箭頭?
