Comment le robot d'exploration Python explore-t-il le contenu entre span et span et le stocke-t-il respectivement dans le dictionnaire ?
phpcn_u1582
phpcn_u1582 2017-05-18 10:52:42
0
5
2138

Je souhaite capturer les profils de maison séparément et les stocker dans le dictionnaire sous forme de colonnes indépendantes, mais il n'existe aucun moyen d'extraire directement les éléments en ligne à l'aide d'une boucle for.
Voici mon code :

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

Voici le code html de la page 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_u1582
phpcn_u1582

répondre à tous(5)
曾经蜡笔没有小新

En fait, c'est très simple. Vous pouvez voir qu'il y a un modèle là-dedans. Le modèle se trouve dans le séparateur |. J'ai écrit une DÉMO

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

Récupérez tout le contenu interne via get_text(), puis supprimez les espaces. Vous pouvez utiliser split pour le diviser plus tard, et je n’écrirai pas le reste.
Si vous avez des questions, veuillez communiquer.

给我你的怀抱

Je pense que ce code html est mal écrit, le texte du contenu de l'étiquette est en dehors de l'étiquette

Il n'y a que deux contenus de balises corrects :

  • Aperçu de la maison :

  • 46m²

巴扎黑

innerText

滿天的星座

Dans votre cas, je pense qu'il est plus pratique d'utiliser une boucle for plus des expressions régulières, si tous les modèles sont corrigés comme ceci

黄舟

用pyquery吧

from pyquery importer PyQuery en tant que Q

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal