关于python:使用XPath从超链接中提取文本

Extracting text from hyperlink using XPath

我正在使用python和xpath来清除reddit。目前我正在写头版。我试图从它的首页提取链接,并在shell中显示它们的标题。

为此,我使用的是Scrapy框架。我在废壳里测试这个。

我的问题是:如何从 ABC 属性中提取文本。我想要"abc"这个字符串。我找不到。我试过以下的表达方式,但似乎行不通。

江户十一〔一〕号

埃多克斯1〔2〕

埃多克斯1〔3〕

江户十一〔四〕号

它们似乎都不起作用。当我使用extract()时,它给出了整个属性本身。例如,它不是给我ABC,而是给我ABC

如何提取文本字符串?


如果

处于这种情况:

1
2
3
4
5
6
7
<p>

    <something>
        ABC
    </something>

</p>

这会给你"ABC"的:

1
2
>>print response.xpath('//p//a[@class="title"]/text()').extract()[0]
ABC

//等于使用descendantsp[descendant::a]不会给你结果,因为你不认为

的后代。


只使用联机的xpath评估器测试它,但是当您将其调整为

1
response.xpath('//p/descendant::a[contains(@class,"title")]/text()')

如果您在评估//p[descendant::a[contains(@class,"title")]]/text(),那么

是当前元素,而不是的后代。