Я использую пакет Python requests
для входа на Beatport , и я хочу почистить песни в своей корзине. Вот как выглядит моя корзина при входе в систему из браузера: Как видите, есть div class="cart-tracks"
, который содержит список ul
. Каждый элемент списка ul
представляет собой песню, которая является для меня интересующим вас объектом.
Вот мой код:
import requests
from lxml import html
from bs4 import BeautifulSoup
USERNAME = "<MY USERNAME>"
PASSWORD = "<MY PASSWORD>"
LOGIN_URL = "https://www.beatport.com/account/login"
URL = "https://www.beatport.com/cart"
def main():
session_requests = requests.session()
# Get login csrf token
result = session_requests.get(LOGIN_URL)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='_csrf_token']/@value")))[0]
# Create payload
payload = {
"username": USERNAME,
"password": PASSWORD,
"_csrf_token": authenticity_token
}
# Perform login
result = session_requests.post(LOGIN_URL, data=payload, headers=dict(referer=LOGIN_URL))
# Scrape url
result = session_requests.get(URL, headers=dict(referer=URL))
print(result.text)
if __name__ == '__main__':
main()
Однако, когда я печатаю result.text
, похоже, моя корзина пуста:
<!-- TRACKS BUCKET -->
<div class="bucket tracks cart-tracks cart-section"></div>
<!-- End Tracks Bucket -->
Запрос на вход в систему кажется успешным, когда я печатаю result.ok
, поэтому я не уверен, в чем здесь дело. Любая помощь будет высоко ценится!
РЕДАКТИРОВАТЬ: Вот запрос XHR: Я считаю, что items
это то, что заполняет треки. Я новичок в изучении веб-страниц, как мне опубликовать этот запрос?