python - 我开始使用 python 和
问题描述
我只是想选择一个网站项目的标题和我的代码->
from bs4 import BeautifulSoup
import requests
URL = "https://pauta.com.br/produto/31394"
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"}
site = requests.get(URL, headers=headers)
soup = BeautifulSoup(site.content, 'html.parser')
#print(soup.prettify())
title = soup.find('h4', class_ = 'ng-binding')
print(title)
为什么我的输出是“无”?我究竟做错了什么?
解决方案
该网站使用 JavaScript 来呈现页面(如评论中所述)。您可以模拟Ajax请求来获取产品信息(您只需要产品编号):
import json
import requests
product_number = 31394
url = f"https://api.pauta.com.br/ecommerce-web/api2/produto/{product_number}/0/0/XX/false/false"
data = requests.get(url).json()
# uncomment this to print all data:
# print(json.dumps(data, indent=4))
print(data["proCodigo"], data["proDescricao"])
印刷:
31394 NOBREAK TS SHARA MINI 600VA/390W 4003 BIV/115