首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法刮掉亚马逊的数据。BeautifulSoup返回空的HTML元素

无法刮掉亚马逊的数据。BeautifulSoup返回空的HTML元素
EN

Stack Overflow用户
提问于 2022-03-30 14:02:35
回答 1查看 195关注 0票数 -1

我正在尝试从亚马逊的交易页面中搜索数据,但是下面的代码返回了一个空元素:<div class="" id="slot-4"> </div>

为什么这段代码在亚马逊网站上不起作用?

代码语言:javascript
复制
    from bs4 import BeautifulSoup
    import requests
    
     url = "https://www.amazon.in/gp/goldbox/all-deals/?ie=UTF8&ref_=sv_gb_1"
    
    
    HEADERS = ({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36'})
    
    
    def getdata(url, HEADERS):
        webContent = requests.get(url, headers=HEADERS)
        htmlContent = webContent.content
        soup = BeautifulSoup(htmlContent, 'html.parser')
        # print(soup.prettify())
        return soup
    
    
    def getdeals(soup):
        data= soup.find_all("div",{"id" : 'slot-4'})
        print(data)
        
    
    soup = getdata(url, HEADERS)
    getdeals(soup)

这是我的输出:

代码语言:javascript
复制
[<div class="" id="slot-4"> </div>]
EN

回答 1

Stack Overflow用户

发布于 2022-03-30 16:22:13

<div class="" id="slot-4">元素是空的:

您可能希望以deal-card属性为目标:

您还希望验证该内容没有用JavaScript动态加载。如果是的话,您将需要使用像Selenium这样的库,而不是使用BeautifulSoup。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71678670

复制
相关文章

相似问题

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