Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah perangkak Python merangkak kandungan antara rentang dan rentang dan menyimpannya dalam kamus masing-masing?

Saya mahu menangkap profil rumah secara berasingan dan menyimpannya dalam kamus sebagai lajur bebas, tetapi tiada cara untuk mengekstrak terus elemen sebaris menggunakan gelung for.
Ini kod saya:

soup.select('.house-info li')[1].text.strip()

Ini ialah kod html halaman web:

<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_u1582phpcn_u15822710 hari yang lalu2088

membalas semua(5)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:54:42

    Sebenarnya, ia sangat mudah. ​​Anda boleh lihat ada corak dalam pemisah |

    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()

    Dapatkan semua kandungan dalaman melalui get_text(), dan kemudian keluarkan ruang. Anda boleh menggunakan split untuk membahagikannya kemudian, dan saya tidak akan menulis selebihnya.

    Jika anda mempunyai sebarang pertanyaan, sila hubungi.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:54:42

    Saya rasa kod html ini ditulis salah, teks kandungan label berada di luar label

    Hanya ada dua kandungan label yang betul:

    • Gambaran Keseluruhan Rumah:

    • 46m²

    balas
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:54:42

    InnerTeks

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-18 10:54:42

    Dalam kes anda, saya fikir ia adalah paling mudah untuk menggunakan gelung for ditambah ungkapan biasa, jika semua templat dibetulkan seperti ini

    balas
    0
  • 黄舟

    黄舟2017-05-18 10:54:42

    用pyquery吧

    daripada pyquery import PyQuery sebagai Q

    Q(teks).cari('.info-rumah li').teks()

    balas
    0
  • Batalbalas