#python #python-requests-html
#python #python-запросы-html
Вопрос:
Я пытался написать программу на python, которая может возвращать список всех названий продуктов на первой странице. У меня есть функция, которая получает URL-адрес на основе того, что вы хотите найти:
def get_url(search_term):
template = 'https://www.amazon.com/s?k={}amp;ref=nb_sb_noss_1'
search_term = search_term.replace(' ', ' ')
url = template.format(search_term)
print(url)
return URL
Затем я передаю URL-адрес в другую функцию, и здесь мне нужна помощь. Прямо сейчас моя функция для получения названия и количества отзывов такова:
def getInfo(url):
r = HTMLSession().get(url)
r.html.render()
product = {
'title': r.html.find('.a-size-medium' '.a-color-base' '.a-text-normal', first=True).text,
'reviews': r.html.find('.a-size-base', first=True).text
}
print(product)
Однако r.html.find
часть не получает нужную мне информацию, она либо возвращает []
, либо нет, если я добавлю first=True . Я пробовал разные способы, например, используя XPath и селектор. Ни один из них, похоже, не сработал. Кто-нибудь может помочь найти способ использовать html.find
метод для поиска всех названий продуктов и сохранения их title
в словаре product?