bs4 soup.find()在Amazon页面上不返回任何值

2024-10-02 10:18:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在amazon上削价出售该产品,但当我使用bs4的find函数时,我得到了一个none对象。有人能告诉我我的代码有什么问题吗:

from bs4 import BeautifulSoup
import smtplib
import requests
Url="https://www.amazon.fr/HyperX-Cloud-Sans-fil-interrupteur/dp/B08NTYB4M7/ref=sr_1_2?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3O51QACXTGCAX&dchild=1&keywords=hyperx+cloud+2+wireless&qid=1630444291&sprefix=hyperx+cloud+2+w%2Caps%2C203&sr=8-2"
page=requests.get(Url)
soup=BeautifulSoup(page.content, "html.parser")
print(soup.find(id="productTitle"))

Tags: importcloudurlamazon产品pagefrfind
1条回答
网友
1楼 · 发布于 2024-10-02 10:18:10

尝试在您的请求中添加User-AgentHTTP头,以便Amazon相信您的请求来自浏览器(如Firefox),而不是脚本:


import requests
from bs4 import BeautifulSoup

headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
}

Url = "https://www.amazon.fr/HyperX-Cloud-Sans-fil-interrupteur/dp/B08NTYB4M7/ref=sr_1_2?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3O51QACXTGCAX&dchild=1&keywords=hyperx+cloud+2+wireless&qid=1630444291&sprefix=hyperx+cloud+2+w%2Caps%2C203&sr=8-2"
page = requests.get(Url, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
print(soup.find(id="productTitle").get_text(strip=True))

当我运行此代码时,它会打印:

HyperX Cloud II Sans fil - Casque de jeu pour PC, PS4, interrupteur Nintendo, batterie longue durée (jusqu'à 30 heures), son Surround 7.1, microphone amovible à réduction de bruit et contrôle du micro

相关问题 更多 >

    热门问题