Не могу получить все данные от парсинга lamoda calendar
import aiohttp
import asyncio
from bs4 import BeautifulSoup as BS
from fake_useragent import UserAgent
data = {'login': 'логин', 'password': 'пароль',}
BASE_URL = "https://gm.lamoda.ru/"
HEADERS = {"User-Agent": UserAgent().random}
async def main():
async with aiohttp.ClientSession() as session:
async with session.get(BASE_URL, data = data, headers = HEADERS) as response:
print('work')
r = await aiohttp.StreamReader.read(response.content)
soup = BS(r, "lxml")
items = soup.find_all("div")
print(items)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
print('start')
loop.run_until_complete(main())
Ответы (1 шт):
Автор решения: Ivan
→ Ссылка
Сайт по указанному адресу является написан на фреймворке с динамическим рендером (в данном случае Vue.js) и, как следствие, рендер страницы происходит так:
- Загружается основная пустая страница, в
<head>которой лежат .js файлы. - Загружаются .js файлы
- Происходит отрисовка страницы этими .js файлами
Как мы видим в консоли, ровно так и происходит 
Таким образом чтобы получить доступ к контекту страницы нужно выполнить .js. Для это нужно либо воспользоваться чем-то типа headless-браузером или начать выполнять js каким-либо внешним интерпретатором.
