Пока я проверял информацию о продукте на веб-странице продукта myntra, такую как Название, Скидка и Цена.Я использовал те же теги, что и во время проверки этой страницы в браузере Chrome, а затем вставил это в свой код. Пожалуйста, посмотрите на этот код:
import requests
import random
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
def headerrs():
"""
return different random headers
"""
ua = UserAgent()
head1 = {'User-Agent': ua.random,
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding': 'none',
'Accept-Language': 'en-US,en;q=0.8',
'Connection': 'keep-alive'
}
return head1
def get_html_page(link):
"""
get product price
:param product_page_soup: bs4 soup: soup of a product page
:return: string
"""
top_page = requests.get(link, headers=headerrs())
top_soup = BeautifulSoup(top_page.content, 'lxml')
top_details = top_soup.find('div',{'class' : 'pdp-details'})
top_title = top_details.find('h1', {'class' : 'pdp-title'}).text.strip()
top_discount = top_details.find('span', {'class' : 'pdp-discount'}).text.strip()
top_price = top_details.find('b', {'class' : 'pdp-price'}).text.strip()
print('Title : '+str(top_title)+', Discount : '+str(top_discount)+', Price : '+str(top_price))
links = 'https://www.myntra.com/amp/tunics/nayo/nayo-white--black-printed-tunic/5414881/buy'
get_html_page(links)
, но когда я запустил этот фрагмент кода, я получил этот вывод
Title : Nayo White & Black Printed Tunic, Discount : {{style.price.discount.label}}, Price : Rs. {{style.price.discounted}}
На самом деле я не знаю, как получить этот динамически сгенерированный контент, который является текстом в моем выводе, я хочу знать, как получить текст без использования селена, поскольку селен - чертовски медленныйпроцесс загрузки каждого продукта, следовательно, с сайта электронной коммерции myntra.