Ответ Scrapy splash не вернет полный html

#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. Ответ предоставляет альтернативу, а не решает / помогает с проблемой.