Как очистить данные после нажатия кнопки
Я пытаюсь очистить данные с сайта красивым супом, но чтобы очистить весь контент, я должен нажать кнопку
<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)