我想用Scrapy Splash渲染以下网站。
https://m.mobilebet.com/en/sports/football/england-premier-league/
不幸的是,Splash总是卡在加载屏幕上:
我已经尝试使用漫长的等待时间(最多60秒),但没有结果。我的Splash版本是3.3.1,并且将robots.txt设置为false。
谢谢!
答案 0 :(得分:0)
我认为这是不可能的-该网站需要呈现JS。因此,您需要使用Selenium
之类的东西来从中获取信息。
另外,也许您正在寻找的是针对该信息的API-因为从网站上抓取信息可能会非常低效。尝试使用Google搜索“ sports REST API”-使用Python SDK寻找一个。
好的,因此Splash
应该可以为您呈现JS。但我不会过分依赖-这些网站会不断变化,并且它们是针对最新的浏览器开发的,最好的选择是将Selenium
与Chromium
驱动程序配合使用(尽管使用API更为可取)
答案 1 :(得分:0)
没有足够的信息来回答,但我有一个很好的猜测。
您看,Splash 和浏览器之间的主要区别在于用户代理字符串。你有一个看起来像一个人的。 Splash 通常不会。
这种无限加载是网站用来减轻重复加载的方法。通常,当您在没有代理的情况下进行本地开发时,您会遇到这些问题。它们的发展非常令人抓狂,因为它们不一致。
您的请求刚刚被丢弃,您可能会在 5-10 分钟后看到 403。
我认为您可以使用此答案中提到的方法解决此问题:Scrapy+Splash return 403 for any site。