Python爬蟲(chóng)如何爬取span和span中間的內(nèi)容并分別存入字典里?
問(wèn)題描述
我想把房屋概況分別抓出來(lái)并分別作為獨(dú)立的列存儲(chǔ)進(jìn)字典里,但是行內(nèi)元素沒(méi)有辦法直接用for循環(huán)摳出來(lái)。這是我的代碼:
soup.select(’.house-info li’)[1].text.strip()
這是網(wǎng)頁(yè)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>
問(wèn)題解答
回答1:其實(shí)還是很有簡(jiǎn)單的,你看這個(gè)還是有規(guī)律的,規(guī)律在于有分隔符|,我寫(xiě)了個(gè)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()
通過(guò)get_text()得到內(nèi)在所有內(nèi)容,然后去除空格。后面你就用split進(jìn)行分割吧,后面的不寫(xiě)了。如果有問(wèn)題再交流。
回答2:我感覺(jué)這個(gè)html代碼寫(xiě)錯(cuò)了呢,標(biāo)簽的內(nèi)容文本在標(biāo)簽外面
房屋概況:
46m2
回答3:innerText
回答4:你這種情況,我覺(jué)得用 for 循環(huán)加上正則表達(dá)式是最方便的,如果所有模版都是這樣固定的話(huà)
回答5:用pyquery吧
from pyquery import PyQuery as Q
Q(text).find(’.house-info li’).text()
相關(guān)文章:
1. mac里的docker如何命令行開(kāi)啟呢?2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?4. 關(guān)于docker下的nginx壓力測(cè)試5. docker容器呢SSH為什么連不通呢?6. nignx - docker內(nèi)nginx 80端口被占用7. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?8. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????9. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。10. docker start -a dockername 老是卡住,什么情況?

網(wǎng)公網(wǎng)安備