回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在抓取这样一个XML文档:</p>
<pre><code>>>> response.xpath("//ul[@class='meta-info d-flex flex-wrap align-items-center list-unstyled justify-content-around']/li[position()=2]/text()").extract()
</code></pre>
<p>并给我以下输出:</p>
<pre><code>['\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t23 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ', '\n ', '\n\t\t\t ', '\n\t\t\t\t24 Feb, 2019 ']
</code></pre>
<p>但我不希望任何字段是换行符、制表符或空格,因此我尝试使用<code>normalize-space()</code>函数,如下所示:</p>
<pre><code>>>> response.xpath("normalize-space(//ul[@class='meta-info d-flex flex-wrap align-items-center list-unstyled justify-content-around']/li[position()=2]/text())").extract()
</code></pre>
<p>但我得到一个空输出:</p>
<pre><code>['']
</code></pre>
<p>这里发生了什么?你知道吗</p>