【发布时间】:2018-04-10 16:45:02
【问题描述】:
我想在 Scrapy 上用 .xpath 或 .css 提取标签中包含的一些信息。
但我想设置一些条件,但我不知道该怎么做。 例如,让我们看看我要废弃的网页的这个 HTML 代码。
<div data-tabs-content="" class="estateTabs-panels">
<div id="detail" data-tabs-pane="" class="estateTabs-panel active">
<ul class="dotted-list dotted-list--ocom">
<li><mark>Nombre de pièce(s)
</mark> <mark>3</mark>
</li>
<li>
<li><mark>Nombre de chambre(s)</mark>
<mark>2</mark>
</li>
<li>
<mark>Surface</mark>
<li><mark>70.68m²</mark>
</li>
我的问题是对于网站的每个页面,<mark> 标签内的值是不同的,我想提取,例如,对于<mark>2</mark>,如果前一个标记标签包含“Nombre de chambre(s) ”。
例如,我想做这样的事情:
if elt.css(".XXXX").extract_first() == ' Nombre de chambre(s) ':
item['value'] = elt.css(".XXXX").extract_first()
结果必须是2
目前我可以用这种方式报废:
item['value'] = info.css('.estateTabs-panel ::text').extract()[4]
但我不想使用[int],因为每个页面的值都不同。
标记标签可以吗?
【问题讨论】:
标签: python web-scraping scrapy