这个问题已被提出,但我找不到任何已批准的答案。所以请不要将其重复标记。
我是一个新的scrapy and scraping电子商务网站,我提取产品的大小并标记它们是否缺货,我的HTML结构如下
<ul class="possible-sizes">
<li class="available">35</li>
<li class="not-available">36</li>
<li class="available">37</li>
<li class="available">38</li>
<li class="not-available">39</li>
<li class="available">40</li>
<ul>
&#13;
我已使用
提取了所有li标签response.css('ul.possible-sizes > li::text').extract()
但我想为不可用类的列表项设置缺货标记。有没有办法尽可能简单。
提前致谢。
答案 0 :(得分:1)
尝试:
response.xpath('//ul/li/@class | //ul/li/text()')
它将返回如下结果:
['available', '35', 'not-available', '36', 'available', '37', 'available', '38', 'not-available', '39', 'available', '40']
最后,您可以根据可用或不可用字符串将它们配对并标记为缺货
其他方法是分别提取它们:
response.xpath('//ul/li[@class="available"]/text()')
response.xpath('//ul/li[@class="not-available"]/text()')
分别会返回:
['35', '37', '38', '40']
['36', '39']