Ich versuche, die HTML von verschiedenen Artikeln mit Scrapy zu bekommen. Diese Artikel enthalten auch Bilder, die ich separat verarbeiten möchte.Wie kann ich Bilder aus HTML Scrapy mit XPath filtern?
Wenn ich einen Artikel haben, deren HTML wie folgt aussieht:
<div class="article>
<p>This is a sentence.</p>
<p>This is a sentence.</p>
<img src="/path/to/image.jpg"/>
<p>This is a sentence.</p>
<p>This is a sentence.</p>
</div>
Wie kann ich nur den Nicht-Bild HTML kratzen, oder dies:
<div class="article>
<p>This is a sentence.</p>
<p>This is a sentence.</p>
<p>This is a sentence.</p>
<p>This is a sentence.</p>
</div>
ich zur Zeit habe versucht:
article = response.xpath("//div[@class='article'][not(img)]").extract()
... aber dies beinhaltet immer noch die Bilder.
Bekam es - das ist der Grund, warum die andere Antwort ('// div [@ class = 'article']/* [nicht (self :: img)]') überhaupt _nothing_ zurückgab ... weil die Artikel I versuche ich Bilder auszuwählen und das würde nur Artikel auswählen, die keine Bilder haben? – YPCrumble
Der XPath, den Sie in Ihrem Kommentar erwähnen, würde alle Nicht-Image-Child-Elemente aller Artikel-Div-Elemente auswählen. Wenn Sie nichts auswählen und Sie überraschen, müsste ich den HTML-Code sehen, um mehr zu sagen. – kjhughes