我的目标是抓取以下代码:
Select Size:</b>
<select name="option[225]">
<option value=""> --- Please Select --- </option>
<option value="480">UK 11 </option>
<option value="478">UK 8 </option>
<option value="477">UK 7 </option>
</select>
我面临两个问题: 1) “option[225] 中的值对于该网站上的所有页面来说并不是恒定的,并且会根据每个产品而变化。
2)无论如何,我可以在每个值之间使用分号分隔符存储数据。 我希望数据按以下方式显示:
UK 11;UK 8;UK 7
最佳答案
>>> ';'.join(map(str.strip, sel.xpath('//option[string-length(@value)!=0]/text()')))
'UK 11;UK 8;UK 7'
//
用于选择从文档根部开始的所有 option
标记,string-length
用于过滤掉第一个空名称选项, ';'.join(...)
使用 ;
连接生成器元素
关于使用 Scrapy 抓取大小信息的 Xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21675819/