使用 Scrapy 抓取大小信息的 Xpath

标签 xpath web-scraping scrapy

我的目标是抓取以下代码:

 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/

相关文章:

xpath 定位器在 FF3 中工作,但在 IE7 中不起作用

c# - 以字符串结尾的属性值的 XPath?

python - 使用xpath获取图像

r - 如何在R中使用RSelenium库缩小页面?

python - 我可以在 Django 类中使用 Scrapy 函数吗

dom - 使用 Xpath 包含 ID?

xml - XPath中contains()谓词测试之间的区别?

java - 根据 xpath 元素中其他属性的条件获取属性值

javascript - Scrapy FormRequest.from_response 错误

python - Scrapy Scraper 不会抓取除比第一页更远的内容