python - 如果某些标签没有属性,嵌套的 .xpath('@attribute') 会给出空结果
问题描述
我正在使用 scrapy 抓取网站。有一个 div 列表,有些是不显示,有些是显示块。我只想从显示块的 div 中获取数据。但我无法从 div 中获取样式属性。我还检查了关于stackoverflow的解决方案,即
response.xpath("//div").xpath("@style").extract()
这给了我一个输出中的空白列表。它没有获取样式属性。或者我可以使用scrapy获取原始HTML,然后在漂亮的汤的帮助下从div中获取样式属性?或者,如果我可以得到字符串中的原始 html,那也会很有帮助。我想要的只是其中的样式属性。
示例 html:-
<div class="asd">div content need to extract</div>
<div class="asd" style="display:none">no need to extract</div>
解决方案
在我看来,你xpath
已经关闭了,试试这个:
response.xpath("//div/@style").extract()
或者:
response.xpath("//div").xpath("./@style").extract()
# notice the relevant path here^^
推荐阅读
- r - 如何使用 ggplot 创建百分比堆叠形状
- python - 给定已用时间计算空闲时间的数据结构
- python - Fastai - 在句子处理器,cache_dir 参数中启动语言模型失败
- json - Apache NiFi:JoltJSONTransform 以更新 JSON 列表?,真正的问题:处理器过多
- java - maven-war-plugin 不会改变 .war 默认目录
- google-apps-script - 按列对数据进行分组并显示所有符合条件的行 + 额外数据
- r - R 在重叠点之间水平增加空间 geom_point
- javascript - 我正在尝试从 Web 浏览器创建地理围栏并创建了一个动态标记,当越过它时会发出警报
- .net-core - Swashbuckle.AspNetCore 停止使用 allOf
- php - 如何在插入查询mysql php中使用for循环?