Python 3.x 点击按钮后如何刮取数据

Python 3.x 点击按钮后如何刮取数据,python-3.x,web-scraping,beautifulsoup,Python 3.x,Web Scraping,Beautifulsoup,我正试图用漂亮的汤从网站上刮取数据,但要刮取所有内容,我必须点击按钮 <button class="show-more">view all 102 items</button> 查看所有102项 加载每个项目。我听说可以用selenium完成,但这意味着我必须用脚本打开浏览器,然后刮取数据。是否有其他方法可以解决此问题。您可以使用与页面相同的API端点,该端点以json形式返回所有信息。将记录返回计数设置为高于预期总数。我将显示如何从json解析出专辑标题/URL。你

我正试图用漂亮的汤从网站上刮取数据,但要刮取所有内容,我必须点击按钮

<button class="show-more">view all 102 items</button>
查看所有102项

加载每个项目。我听说可以用selenium完成,但这意味着我必须用脚本打开浏览器,然后刮取数据。是否有其他方法可以解决此问题。

您可以使用与页面相同的API端点,该端点以json形式返回所有信息。将记录返回计数设置为高于预期总数。我将显示如何从json解析出专辑标题/URL。你可以探索答案。刷新提供的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)

对为什么不试试selenium呢?链接网站,可能比使用
selenium
简单得多,我正在尝试删除所有相册的名称和链接,但我必须单击底部的按钮,才能加载所有相册。