到目前为止,我在网络抓取方面的大部分经验都相当简单且易于理解。发送请求,下载 HTML,然后提取所需的信息。目前,我有兴趣从 Spotify Web 应用程序中抓取热门播放数据。这些数据无法通过他们的 API 访问,但在浏览不同的艺术家页面时可以看到。
例如,The National 播放次数最多的轨道可以在此链接中找到:https://play.spotify.com/artist/2cCUtGK9sDU2EoElnk0GNB
我的问题是,这些数据是如何在幕后生成的,是否可以抓取这些数据?
最佳答案
数据是动态生成的(下载 HTML 并不能解决问题),前端使用 FLEX,后端使用 C++/Python(根据 this )。 不管怎样,如果你需要抓取 JavaScript 生成的内容,这将是一件困难且痛苦的事情,因为它比抓取静态网站要复杂得多。
我建议您使用 PhantomJS (可使用 JS API 编写 Headless WebKit)或 Selenium (自动浏览器测试/抓取)。
关于python - 使用 Python 抓取 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416020/