首页 > 解决方案 > 如何通过xpath获取元素

问题描述

我正在为网站设计一个使用 python scrapy 的刮板

https://www.kimovil.com/de/wo-kaufen-oneplus-2-3gb-16gb-cn

我已经通过 expath 提取了许多元素,但无法获得手机的存储版本。

通过检查元素,可以获取 xpath,但是当尝试在 scrapy shell 中调用时,它会返回:

[]

标签: pythonweb-scrapingscrapy

解决方案


一些事实:

  • 这是一个大型网站,他们花了一些时间开发它,它可能使用了现代技术
  • 它正在加载https://www.kimovil.com/build/app-js.227fce30.jsapp的名称和build路径

由此判断,他们使用了某种 JS 前端框架,并且当scrapy 到达网页时,DOM 并不完整。您正在寻找的数据正在被加载,并且 DOM 在生命周期的后期被操作。

您可以检查您的浏览器正在发出的请求,https://www.kimovil.com/_json/oneplus-2-3gb-16gb-cn_prices_deals.json例如其中之一。

或者您可以使用基于 selenium 的抓取框架或其他可以在页面上运行 javascript 的框架。


推荐阅读