Я тестирую свой код, используя страницы Amazon другого стиля, и он не может разобрать их в определенном стиле. Он работает для 1 типа страницы, но не для страницы, где различные варианты представлены в виде вкладок.
import bs4, requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.6',}
goodRes = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/', headers=header)
goodRes2 = requests.get('https://www.amazon.com/gp/product/1593277954/', headers=header)
badRes = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-Programming-ebook/dp/B00WJ049VU/', headers=header)
soup = bs4.BeautifulSoup(goodRes.text, 'lxml') # change to badRes for error
price = soup.select('.offer-price')
name = soup.select('#productTitle')
author = soup.select('.contributorNameID')
print(name[0].text.strip())
print(author[0].text.strip())
print(price[0].text.strip())
первые два URL-адреса (goodRes & goodRes2) являются прямыми ссылками на электронные книги, они извлекаются при помощи get и анализируются по запросу супа для получения необходимой мне информации.
третий URL - это предоставленная страница стиля «с вкладками», хотя запрос get работает, суп не находит ничего с заданными селекторами CSS (даже если они абсолютно совпадают на этой странице с вкладками). Это приводит к ошибке «Список индексов вне диапазона» при выполнении первой функции печати.
Я не уверен, как изменить это, чтобы проанализировать информацию из URL-адреса badRes.
любая помощь приветствуется. Благодаря.