我一直在遵循一个教程,并使用许多不同的库进行尝试,并且遇到相同的问题,Scrapy返回加载屏幕,而不是此处显示的实际内容:
</div>
<div style="margin-top: 20px; color: #FFFFFF; font-size: 14px; text-transform: uppercase; letter-spacing: 2px; font-family: sans-serif;">
Loading...
</div>
</div>
另外,这是我的python代码:
import scrapy
class RacerSpider(scrapy.Spider):
name = 'racer'
start_urls = ['https://nitrotype.com/racer/test']
def parse(self, response):
name = response.url.split('/')[-1]
filename = f'Racer-{name}.html'
with open(filename, 'wb') as f:
f.write(response.body)
f.close()
此代码用于在名为Nitrotype的游戏中抓取关于racer
的数据
答案 0 :(得分:0)
看起来您正在使用动态网站。
动态站点通常会向主文档发送“正在加载”,然后使用某种JavaScript填充内容。
您的链接不起作用,所以我无法重新创建您的确切问题,但是我有两件事适合您:
使用scrapy shell命令并为其指定URL。获得外壳程序后,运行view(response)
来查看scrapy
会得到什么。像这样:
草皮外壳“ https://google.com” 从上面的命令加载的shell中查看(响应)#
按F12
打开开发人员工具,转到网络选项卡,查看所有请求和响应。单击这些以查看您的数据在哪里。
完成此操作后,如果您认为仍需要渲染,请使用Splash或Selenium。