python - 使用 Python 抓取 Web 应用程序

标签 python web-scraping

到目前为止,我在网络抓取方面的大部分经验都相当简单且易于理解。发送请求,下载 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/

相关文章:

python - 如何使用 BeautifulSoup 停止文章打印两次

python - 无法使用 mechanize 和 Beautifulsoup 从谷歌搜索结果中获取正确的链接

python - BeautifulSoup:搜索 .text 属性

javascript - 如何使用 Cheerio.js 从文档中删除 <!doctype html>

excel - 如何使用 VBA 从网站提取数据并填充 Excel 工作表?

python - 使用 boto3 从 s3 下载时使用文件名作为文件名

python - 将 key 与 python 中的不同对匹配

python - 如何使用yaml文件和dockerfile来激活conda环境

python - 将 sympy 与 pypy 一起使用时没有加速

python - Pygame 显示导致段错误 11