J'ai une balise et je veux que tout le texte à l'intérieur soit disponible. Je fais ça:
response.css('mytag::text')
Mais il ne fait qu'obtenir le texte de la balise actuelle, je veux aussi obtenir le texte de toutes les balises internes.
Je sais que je pourrais faire quelque chose comme:
response.xpath('//mytag//text()')
Mais je voudrais le faire avec les sélecteurs css
. Comment puis-je atteindre cet objectif?
response.css('mytag *::text')
Le *
visitera toutes les balises internes de mytag
et ::text
obtiendra le texte de chacun d'eux
Récupère le texte du seul nœud sélectionné.
response.css('mytag::text')
Récupère le texte du nœud sélectionné et de ses nœuds enfants.
response.css('mytag ::text')
Voyez la différence entre ces deux versions. La seule différence est l'espace. S'il n'y a pas d'espace, seuls les textes/attributs des nœuds actuels sont renvoyés. S'il y a de l'espace, il sélectionne le texte/les attributs des nœuds auto et enfant
response.css('h1 a::attr(href)') # only current node attribute
response.css('h1 ::attr(href)') # current node and all child nodes attribute.