单击按钮后如何抓取数据



我正在尝试用漂亮的汤从网站上抓取数据,但要抓取所有内容,我必须单击按钮

<button class="show-more">view all 102 items</button>

加载每个项目。我听说它可以通过硒来完成,但这意味着我必须使用脚本打开浏览器,然后抓取数据。还有其他方法可以解决这个问题吗?

您可以使用页面执行的相同 API 端点,该端点以 JSON 形式返回所有信息。设置高于预期总计数的记录返回计数。我展示了从 json 中解析出专辑标题/网址。您可以在此处探索响应。刷新提供的 URL 时,可以在浏览器网络选项卡中找到此终结点。

import requests
data = {"fan_id":1812622,"older_than_token":"1557167238:2897209009:a::","count":1000}
r = requests.post('https://bandcamp.com/api/fancollection/1/wishlist_items', json = data).json()
details = [(item['album_title'], item['item_url']) for item in r['items']]
print(details)

最新更新