2010-11-02 16 views
0

J'ai du mal à essayer d'analyser ce code HTML. Il y a des h2s agissant comme des titres pour les paragraphes. Les deux sont dans des div séparés, et séparés par plus de divs. Le paragraphe n'est pas un enfant de la h2. J'aimerais les regrouper, mais je ne peux pas comprendre comment. Je pensais trouver le ferait, mais cela n'a pas fonctionné:Obtention de l'élément spécifié suivant dans lxml?

html = doc.cssselect('h2.title') 
for para in html: 
    content = para.find('div.content') 
+1

Bienvenue sur SO! Soumettre un fragment de HTML rendra les choses plus faciles pour les personnes qui répondent à la question. –

Répondre

2

lxml.html.HtmlElement.find ne prend un nom de tag ou un chemin - il n'accepte pas de tous les sélecteurs CSS.

Une meilleure idée serait simplement d'utiliser doc.cssselect avec des sélecteurs avancés. lxml.html les convertira en sélecteurs XPath pour vous.

Peut-être:

for elem in doc.cssselect('h2.title div.content'): 
    elem.text_content()