Как очистить данные после нажатия кнопки

Я пытаюсь очистить данные с сайта красивым супом, но чтобы очистить весь контент, я должен нажать кнопку

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

загрузить каждый предмет. Я слышал, что это может быть сделано с селеном, но это означает, что мне нужно открыть браузер с помощью скрипта, а затем очистить данные. Есть ли другие способы решения этой проблемы.

1 ответ

Вы можете использовать ту же конечную точку API, что и страница, которая возвращает всю информацию в форме json. Установите количество возвратов записей выше, чем общее ожидаемое число. Я показываю разбор названий альбомов / URL-адресов из 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)
Другие вопросы по тегам