首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >产品描述在刮擦时不返回。

产品描述在刮擦时不返回。
EN

Stack Overflow用户
提问于 2018-07-29 06:30:31
回答 1查看 37关注 0票数 0

我试着从url下面刮出产品描述。但这并不是回报

https://www.mambo.com.br/arroz-integral-camil-1kg/p

下面的代码不返回描述文本:

代码语言:javascript
复制
myurl = "https://www.mambo.com.br/arroz-integral-camil-1kg/p"    
agent = {'User-Agent': 'Magic Browser'}
req1 = requests.get(myurl, headers=agent)
soup2 = BeautifulSoup(req1.content, "html.parser")
for desc in soup2.findAll('div', {"class": "accordion__body ProductDescription"}):
    print(desc.text)

请修复并帮助对问题进行编码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 06:44:50

数据是通过Ajax动态加载的-页面本身不包含任何数据。

您需要从主页提取SKU (产品编号),然后调用位于https://www.mambo.com.br/api/的API以获取JSON数据(您可以看到该页面在Firefox/Chrome网络检查器中执行的所有请求):

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests
import json

product_url = "https://www.mambo.com.br/api/catalog_system/pub/products/search/?fq=productId:{}"
url = "https://www.mambo.com.br/arroz-integral-camil-1kg/p"

r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
sku = soup.select_one('meta[itemprop="sku"]')['content']
data_json = json.loads(requests.get(product_url.format(sku)).text)

for p in data_json:
    print(p['description'])
# print(json.dumps(data_json, indent=4)) # this will print all data about the product

输出:

代码语言:javascript
复制
O arroz integral faz parte da linha de produtos naturais da Camil. É saudável, prático e gostoso. Melhor que saborear um prato delicioso é fazer isso com saúde!

编辑:

或者,您可以从<meta itemprop="description">获得描述,但我不确定这个标签中的描述是否完整:

代码语言:javascript
复制
url = "https://www.mambo.com.br/arroz-integral-camil-1kg/p"

r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
print(soup.select_one('meta[itemprop="description"]')['content'])

指纹:

代码语言:javascript
复制
O arroz integral faz parte da linha de produtos naturais da Camil. É saudável, prático e gostoso. Melhor que saborear um prato delicioso é fazer isso com saúde!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51577841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档