xml - 使用scrapy,如何从标签内部获取价值
问题描述
从以下源代码:
<div class="units">
<select class="select tierprices" onchange="somethting.changeUnitPrice(this)">
<option value="1" data-qtyid="qty-34"
data-formated="<span class="price">AUD $867.64</span>">
Unit Price
</option>
<option value="5" data-qtyid="qty-34"
data-formated="<span class="price">AUD $866.84</span>">
5+ ITEMS
</option>
<option value="10" data-qtyid="qty-34"
data-formated="<span class="price">AUD $865.84</span>">
10+ ITEMS
</option>
<option value="50" data-qtyid="qty-34"
data-formated="<span class="price">AUD $864.14</span>">
50+ ITEMS
</option>
</select>
</div>
使用 Scrapy,我如何获得价值AUD $867.64
解决方案
如果你只需要得到你提到的那个价格,你可以像这样通过 xpath 选择器来做到这一点。
response.xpath('//select//option[@value="1"]/@data-formated').re(r'<span class="price">(.*)</span>')
否则,您可以使用 xpath 来获取所有价格。输出将是一个列表对象。
推荐阅读
- python-3.x - Discord.py ffmpeg 我已正确设置所有内容,即下载和播放文件,我需要帮助更改已安装文件的目录,代码如下:
- java - 如何从集合中删除和添加值
- php - 如何将用于工具的小型 PHP 脚本安装到现有网站的页面中?
- javascript - 制作一个禁止不和谐的 CS:GO 地图在多个文本通道中同步运行
- django - 错误:请求失败,在 axios post api 中出现代码 403
- sql - 选择 ValueA 其中 [count(ValueB) > 2 并且计数的行共享 ValueC]
- javascript - 如何将一些动态元素注入到带有 chrome 扩展的网页中?
- java - Spring Boot 应用程序如何处理多个并发请求?
- haskell - 映射 RankNTypes 函数
- c# - GraphQL-HotChocolate(c#)| Hotchocolate OOTB 过滤器但不同的数据库和域模型