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