Python Scrapy Splash无法呈现网站,停留在加载屏幕上

时间:2019-05-03 21:01:05

标签: scrapy scrapy-splash splash-js-render

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

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

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

website

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

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为这是不可能的-该网站需要呈现JS。因此,您需要使用Selenium之类的东西来从中获取信息。 另外,也许您正在寻找的是针对该信息的API-因为从网站上抓取信息可能会非常低效。尝试使用Google搜索“ sports REST API”-使用Python SDK寻找一个。

好的,因此Splash应该可以为您呈现JS。但我不会过分依赖-这些网站会不断变化,并且它们是针对最新的浏览器开发的,最好的选择是将SeleniumChromium驱动程序配合使用(尽管使用API​​更为可取)

答案 1 :(得分:0)

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

您看,Splash 和浏览器之间的主要区别在于用户代理字符串。你有一个看起来像一个人的。 Splash 通常不会。

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

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

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