【问题标题】:How to scrape a hidden hyperlink from a button with Python?如何使用 Python 从按钮中抓取隐藏的超链接?
【发布时间】:2021-01-28 22:29:38
【问题描述】:

我正在尝试为一个项目抓取以下网站:https://www.tunefind.com/show/chicago-fire/season-1/12210 最后一步是抓取页面上提到的 Spotify 歌曲的链接。通常我会查看源代码,从那里很清楚。 但是,在这种情况下不是。查看 spotify 按钮周围的源代码,我找不到指向这首歌的超链接。可能是故意这样做的,以防止刮伤? (哎呀)

有没有办法从按钮获取超链接?我知道 Python 中有一个单击按钮的“互联网”界面,但我不想使用它,因为这会极大地影响加载时间。

谢谢!

【问题讨论】:

  • 这可能是偶然的。该站点是用 react 构建的,因此它在虚拟 dom 中隐藏了许多操作数据。祝你好运找到可靠的方法将其取出。

标签: javascript python html web-scraping beautifulsoup


【解决方案1】:

如果使用 Chorme,请查看 DevTools,转到网络选项卡并重新加载站点。你会发现你需要的数据就在这个url里:

https://www.tunefind.com/api/frontend/show/chicago-fire/season/1?fields=episodes,theme-song,music-supervisors,hot-songs,top-users,related-questions-season,composers,albums&metatags=1

【讨论】:

  • 谢谢!我在您的链接的链接中找到了信息。下一步是将其放入 python :)
【解决方案2】:

不确定这是否对您有帮助,但所有数据都已加载到 window.__INITIAL_STATE__

【讨论】:

  • 会调查的!
【解决方案3】:

你通过抓取网站做错了。如果他们改变了一件事情,你的整个项目就会停止工作。您应该改用他们的 API。 https://www.tunefind.com/product/api

【讨论】:

  • 你是对的。现在它是一个小项目,所以如果有什么变化我很好。除此之外,我不知道如何使用 API ?
  • 基本上,您向他们的服务器发出请求并以您想要的任何方式处理响应数据......查找它会为您节省大量时间而不是报废它
  • 嗯,听起来确实容易多了哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 1970-01-01
  • 2021-03-31
相关资源
最近更新 更多