python bs4 html синтаксический анализатор возвращает нулевой объект - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь получить цену от 'https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/', но она возвращает нулевой объект. Ниже приведен мой код

import requests
import bs4 #beautiful soup
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36',
    }
res = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/', headers=headers)
res.raise_for_status()
res.status_code
soup = bs4.BeautifulSoup(res.text, 'html.parser')
soup.select("#unqualifiedBuyBox > div > div.a-text-center.a-spacing-mini > span")
print(res.text[:500])

Код res.status.code возвращает 200, поэтому он находит сайт, но значение цены возвращает ноль. Я посмотрел, есть ли проблема со знаком для печати (res.text [: 500]), но он ничего не дал о проблеме со знаком. Это вывод ниже:

<!DOCTYPE html>
<!--[if lt IE 7]> <html lang="en-us" class="a-no-js a-lt-ie9 a-lt-ie8 a-lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="a-no-js a-lt-ie9 a-lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="a-no-js a-lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="a-no-js" lang="en-us"><!--<![endif]--><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrom
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...