我使用 scrapy 和 xpath 尝试在 DOM 中查找特定节点,并尝试将该部分呈现为字符串。这部分如下所示:
<p><strong>Description :</strong> SCP-3976 est l'appellation collective d'une série de manifestations
sous la forme de meurtres apparents de la célèbre autrice de romans policiers Agatha Christie<sup
class="footnoteref"><a id="footnoteref-1" href="javascript:;" class="footnoteref"
onclick="WIKIDOT.page.utils.scrollToReference('footnote-1')">1</a></sup>. À ce jour, toutes les instances
de SCP-3976 ont été localisées dans les zones rurales du territoire anglais et tous les composants de
chaque instances se trouvaient dans un rayon de 50 mètres. De plus, toutes les instances sont
apparues entre 22h31 et 08h36, heure locale, bien qu'aucun enregistrement ni témoin de la manifestation
d'une instance n'existent.</p>
使用以下代码
response.xpath("string(//p)").get()
我明白了
Description : SCP-3976 est l'appellation collective d'une série de manifestations sous la forme de
meurtres apparents de la célèbre autrice de romans policiers Agatha Christie1. À ce jour, toutes les
instances de SCP-3976 ont été localisées dans les zones rurales du territoire anglais et tous les
composants de chaque instances se trouvaient dans un rayon de 50\xa0mètres. De plus, toutes les instances
sont apparues entre 22h31 et 08h36, heure locale, bien qu'aucun enregistrement ni témoin de la
manifestation d'une instance n'existent.
这是一个相当不错的结果。只是,您可以看到 Agatha Christie
旁边的那个是1
<sup>
的元素,我想通过 xpath 来防止它出现。我可以这样做吗?
谢谢
最佳答案
尝试:
response.xpath('//p/text()').extract()
您可能需要从新行等中剥离输出,以使其达到正确的形状,但它会排除 1
。
关于python - xpath string() 从渲染中排除特定节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60173012/