我刚开始使用Python,但是我有一个奇怪的行为,那就是Python大部分时间都会给我一个错误,有时它可以正确地编译我的代码。

import requests
from bs4 import BeautifulSoup

jblCharge4URL = 'https://www.amazon.de/JBL-Charge-Bluetooth-Lautsprecher-Schwarz-integrierter/dp/B07HGHRYCY/ref=sr_1_2_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=jbl+charge+4&qid=1562775856&s=gateway&sr=8-2-spons&psc=1'

def get_page(url):
    page = requests.get(url, headers=headers)
    soup = BeautifulSoup(page.content, 'html.parser')
    return soup

def get_product_name(url):
    soup = get_page(url)
    try:
        title = soup.find(id="productTitle").get_text()
        print("SUCCESS")
    except AttributeError:
        print("ERROR")
while(True)
    print(get_product_name(jblCharge4URL))


控制台输出:

ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
**SUCCESS**
None
ERROR
None
**SUCCESS**
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None
ERROR
None


提前致谢

最佳答案

我对您的代码进行了一些调整,这将使您回到正确的轨道上:

import requests
from bs4 import BeautifulSoup

jblCharge4URL = 'https://www.amazon.de/JBL-Charge-Bluetooth-Lautsprecher-Schwarz-      integrierter/dp/B07HGHRYCY/ref=sr_1_2_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&  keywords=jbl+charge+4&qid=1562775856&s=gateway&sr=8-2-spons&psc=1'

def get_page(url):
    page = requests.get(url)
    soup = BeautifulSoup(page.text, 'html.parser')
    return soup

def get_product_name(url):
    soup = get_page(url)
    try:
        title = soup.find(id="productTitle")
        print("SUCCESS")

    except AttributeError:
        print("ERROR")
    return(title)
print(get_product_name(jblCharge4URL))

10-08 04:07