首页 > 解决方案 > 我开始使用 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)

为什么我的输出是“无”?我究竟做错了什么?

标签: pythonweb-scraping

解决方案


该网站使用 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

推荐阅读