#javascript #python #web-scraping #scrapy-splash
#javascript #python #очистка веб-страниц #scrapy-всплеск
Вопрос:
Я пытаюсь очистить эту ссылкуhttps://www.myntra.com/women-kurtas-kurtis-suits . Но при попытке отобразить его через splash http API. Я получаю приведенный ниже частично отображаемый результат
Я что-то здесь упускаю?
Это фактическая страница.
Ответ №1:
Если вы пытаетесь очистить продукты, почему бы вам не использовать HTML, отрисованный не в JS, возвращаемый по умолчанию? Внутри него вы найдете объекты JSON, содержащие сведения о продуктах. Вот пример с веб-страницы, которую вы опубликовали:
<script type="application/ld json"> {"@context":"https://schema.org","@type":"Product","name":"AKS Women Blue amp; Grey Printed Kurta with Palazzos","image":"http://assets.myntassets.com/assets/images/8076903/2018/12/8/fb0cf882-a473-4aae-86c2-edf912b70b6e1544251004970-AKS-Women-Kurta-Sets-2261544251003921-1.jpg","description":"Women Printed Kurta with Palazzos","brand":{"@type":"Thing"},"offers":{"@type":"Offer","priceCurrency":"INR","price":989},"AggregateRating":{"@type":"AggregateRating","itemReviewed":"AKS Women Blue amp; Grey Printed Kurta with Palazzos","ratingCount":0,"reviewCount":""}}</script>
Используя библиотеку JSON Python, вы можете извлечь данные и использовать их по своему усмотрению.
Комментарии:
1. Но мне нужно получить URL продукта, а также просмотреть страницы.
2. @Amar URL продукта и другие данные также находятся в формате JSON в переменной JavaScript с именем «window.__myx». Вы можете найти его, выполнив поиск в исходном коде веб-страницы. Вы могли бы легко очистить его, преобразовать его содержимое в JSON и извлечь нужные данные.
3. @Amar Та же переменная может быть найдена после очистки ссылки на продукт без рендеринга в JS, содержащей более подробную информацию о продукте. Вы можете использовать стандартную библиотеку, такую как «requests», чтобы очистить как ссылку на категорию, так и ссылки на продукты.
4. Ответ предоставляет альтернативу, а не решает / помогает с проблемой.