Проблема в том, что html.parser
не распознает / обрабатывает незамкнутые теги как фактические теги. Если вы выполните soup.div
, вы увидите, что он принимает только один тег div. Единственный, который имеет закрывающий тег в исходном коде. Если вы используете парсер lxml
, он добавит закрывающие теги и ваш код будет работать.
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
amazon_url = "https://www.amazon.com/gp/offer-listing/B076KDY7VF/ref=dp_olp_new_mbc?ie=UTF8&condition=new"
r = requests.get(url=amazon_url, headers=headers)
page_text = r.text
soup = BeautifulSoup(page_text, "lxml")
# Finding the Price Table
table = soup.find(id="olpOfferListColumn")
print(table)