Es ist OKPython Scrapy kann nicht Pseudo-Klasse bekommen ": nicht()"
content.css('.text>p::text').extract()
Aber
content.css('.text:not(.text .text)>p::text').extract()
funktioniert nicht zu schreiben. Es sagt mir:
SelectorSyntaxError: Expected ')', got <S ' ' at 15>
Ja, der 15. Buchstabe im ‚.text: nicht (.text .text)> p :: Text‘ ‚ist‘, aber wie kann ich diese Bedeutung haben, ohne eine ''?
aktualisieren
Es <div class='text'>
s verschachtelt sind, möchte ich das direkt unter der ersten <div class='text'>
s <p>
alle extrahieren.
Zum Beispiel:
<div class='text comment'>
<strong>abc</strong>
<span>def</span>
<p>xxxxxxxxxxxxx</p>
<p>xxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
<div class='text sub_comment'>
<strong>lst</strong>
<span>lll</span>
<p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
<p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
</div>
</div>
Ich möchte Texte in den ersten beiden <p>
zu bekommen. Ich kann .comment
und .sub_comment
nicht verwenden, um sie zu unterscheiden, weil sie sich von Fall zu Fall ändern und nicht definitiv comment
in der Außenseite und im inneren Tag sind.
Ihre Frage scheint mir unklar, können Sie Beispiel-Markup geben Sie versuchen, mit diesem Selektor übereinstimmen? –
@PawelMiech Ich habe die Frage aktualisiert. Ich habe dieses Problem mit xpath gelöst. Glaubst du, es gibt eine CSS-Lösung? –