首页 > 解决方案 > Scrapy 不会提取某些选择器中的文本

问题描述

我正在使用 Scrapy 抓取网站,但是当我选择某些选择器时,它不会提取其中的文本。

该网站是https://www.chopo.com.mx/estudios/super-quimica-de-35-elementos/#

不提取文本的选择器是:

response.css('#informacionmedicos').get()
response.css('#divsinonimos').get()

它们都显示了各自的 html 代码行,但我看不到 DOM 中出现的文本(不在 html 行中,也没有使用 ::text 属性)。任何想法发生了什么?

谢谢

标签: scrapy

解决方案


Scrapy 不适用于渲染的 DOM,而是使用纯源 HTML。您可以Ctrl+U在大多数浏览器中使用它。你会发现这个片段:

<div class="panel-body" id="informacionmedicos"></div> 

如您所见,您需要的信息是使用 JavaScript 动态加载的。您可以尝试模拟此 JavaScript 请求或使用 Scrapy-Splash 或类似方法。

要模拟 Javascript,您需要发送一个 POST 请求: 在此处输入图像描述


推荐阅读