python - 尝试为 .gg 网站运行 scrapy shell 命令,但返回一个空括号
问题描述
我很想在scrapy shell中运行命令 response.css(".hero-name::text").extract() 但返回一个空括号。
我采取的步骤
scrapy shell 'https://msf.gg/characters'
>>> response.css(".hero-name::text").extract()
[] 返回一个空括号。
我也尝试过运行 xpath 和相同的结果
>>> response.xpath("/html/body/div[1]/section/div/div/ul/li[1]/div[3]/h4/text()").extract()
[]
解决方案
首先,
你应该这样做,scrapy shell 'https://msf.gg/characters'
而不是做两次scrapy shell。
第二,
它是一个动态渲染的页面,即 JS 渲染的页面;
因此scrapy无法定位这些元素,你可以view(response)
看看;(这基本上是scrapy看到的)
一种解决方案是使用requests-html或selenium
推荐阅读
- python - Itertools.combinations() 提高超过时间限制
- javascript - googletag 从 API 响应动态定义槽不起作用
- python - python:根据另一个键替换 Pandas 列中的值
- r - 用于将总行添加到数据框列表的 for 循环
- postgresql - Postgres 通过 ssh 与 Spring Boot 连接
- angular - Angular:如何使用 HttpClient 和拦截器打破循环依赖关系
- android - 使用 Android ViewModel 时 Dagger 的好处?
- laravel - 如何在 laravel 的 ui 中显示 vuejs mixin 数据
- php - PDO 找不到驱动程序 (DOCKER)
- java - 如何将我的数据类型从数组更改为数组列表