我试图从这个html结构中提取文本:
<div class="col-6 col-lg-3">
<span class="font-weight-bold">List of Birds</span>
<ul class="bird-forms">
<li>Crow <span class="color">Black</span></li>
<li>Peacock <span class="color">Multicolored</span></li>
<li>Dove <span class="color">Multicolored</span></li>
<li>Sparrow <span class="color">Brown</span></li>
<li>Goose <span class="color">Multicolored</span></li>
<li>Ostrich <span class="color">Multicolored</span></li>
</ul>
</div>
使用刮壳:response.css('ul.bird-forms li ::text').extract()
我希望结果如下所示:
['Crow Black',
'Peacock Multicolored',
'Dove Multicolored',
'Sparrow Brown',
'Goose Multicolored',
'Ostrich Multicolored']
而不是这个:
['Crow',
'Black',
'Peacock',
'Multicolored',
'Dove',
'Multicolored',
'Sparrow',
'Brown',
'Goose',
'Multicolored',
'Ostrich',
'Multicolored']
只需使用XPath
string()
:我们可以单独提取细节,并在以下情况下合并它们:
您需要先分别选择
li
标记,然后为每个li
标记选择文本:与python列表理解相同:
相关问题 更多 >
编程相关推荐