Не могу запарсить html страницу
при парсинге страницы мне выдаёт пустой список, но код 0. Помогите решить проблему.
import requests
from bs4 import BeautifulSoup
HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}
books = []
book = input("Send book name: ")
url = 'https://bookfinder.com.ua/search/'+book+'/all/relevance/1'
content = requests.get(url, headers=HEADERS)
soup = BeautifulSoup(content.text, 'html.parser')
ausers = soup.find_all('li', class_='itemscope')
print(ausers)
Ответы (2 шт):
Автор решения: Amele9
→ Ссылка
Если выполнить запрос по вашему адресу, то вы не получите список книг. Заглянул в категорию Network. Вам нужно отправить GET запрос сюда: https://bookfinder.com.ua/api/books?query=book&fromStorage=true.
from bs4 import BeautifulSoup
from requests import request
headers = {
"User-Agent": (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
)
}
book = input()
url = f"https://bookfinder.com.ua/api/books?query={book}&fromStorage=true"
response = request("GET", url=url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
soup.find_all("", attrs={})
Автор решения: Сергей Ш
→ Ссылка
import requests
book = input()
url = f"https://bookfinder.com.ua/api/books?query={book}"
resp = requests.get(url).json()
for x in resp:
print(x['title'])
print(x['price'], x['currency'])
print(x['url'])