1

我想用 Scrapy Splash 渲染以下网站。

https://m.mobilebet.com/en/sports/football/england-premier-league/

不幸的是,Splash 总是卡在加载屏幕上:

网站

我已经尝试过使用很长的等待时间(最多 60 秒)但没有结果。我的 Splash 版本是 3.3.1,并且服从 robots.txt 已设置为 false。

谢谢!

4

2 回答 2

0

没有足够的信息来回答,但我有一个很好的猜测。

你看,Splash 和你的浏览器之间的主要区别是用户代理字符串。你有一个看起来像一个人的。飞溅一般不会。

这种无限加载是站点用来减轻重复加载的一种方法。通常,当您在没有代理的情况下进行本地开发时,您会遇到这些问题。他们是相当疯狂的发展反对,因为他们是不一致的。

您的请求刚刚被丢弃,您可能会在 5-10 分钟后看到 403。

我认为您很可能可以使用此答案中提到的方法解决此问题:Scrapy+Splash return 403 for any site

于 2021-03-02T19:17:36.630 回答
-1

我认为这是不可能的——这个网站需要渲染 JS。所以你需要使用类似的东西Selenium来从中刮取信息。此外,也许您正在寻找的是该信息的 API - 因为从网站上抓取它可能非常低效。尝试谷歌搜索“sports REST API” - 使用 Python SDK 寻找一个。

好的,Splash看起来应该为您呈现 JS。但我不会过分依赖它——那些网站不断变化,它们是针对最新的浏览器开发的,你最好的选择是使用Selenium驱动Chromium程序(尽管使用 API 更可取)。

于 2019-05-04T14:41:08.300 回答