我使用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阻止它出现。我可以这样做吗?
谢谢,
您可以使用几个w3lib.html
函数(remove_tags, remove_tags_with_content
),从结果中排除特定的标签。
请参见示例here。
尝试:
response.xpath('//p/text()').extract()
您很多人需要从新行等中剥离输出以使其形成正确的形状,但是它将排除1
。