首页 > 解决方案 > Scrapy shell response.css 发送空输出

问题描述

我想通过scrapy抓取产品数据。这是产品链接:https ://www.ingco.com/products/103803

要检查我使用此代码的响应

In [2]: response.css('div.d-flex::text').get()

In [3]: response.css('div.d-flex::text').extract()
Out[3]: []

In [4]: response.css('div.d-flex::text').extract
Out[4]: <bound method SelectorList.getall of []>

In [5]: response.css('div.d-flex::text').extract()
Out[5]: []

In [6]: response.css('div.d-flex::text').extract();

In [7]: response.css('div.d-flex').extract();

截屏

但它什么也没提供。请检查我做错了什么

标签: pythonpython-3.xweb-scrapingscrapy

解决方案


如果您查看页面的实际 html 源代码(Ctrl+U在大多数浏览器中),您会发现它不包含您要抓取的信息。
产品详细信息由 javascript 从 api url ( https://webcenterapi.ingco.com/website-product/product-info-detail?id=103803 ) 加载。

数据是 json 格式,而且 api 似乎是公开可用的,所以你的工作应该很简单。


推荐阅读