【问题标题】:Python requests library not retrieving elements inside <div> tag of class "react"Python 请求库不检索类“react”的 <div> 标记内的元素
【发布时间】:2021-02-04 15:26:48
【问题描述】:

我想从网站上抓取一些图片,特别是 this one

不幸的是,图像似乎在我无法到达的地方;如果您检查元素并搜索displate-tile--limited d__relative displate-tile--limited-upcoming,或者专门检查产品之一的元素,您将看到我正在尝试检索的图像;你还会看到所有这些都在一个

<div id="d_app" class="react limited-editions" style="min-height: 750px; position: relative; margin-top: 145px"></div> 

标签,它似乎阻止了我抓取这些图像的尝试。

requests.get() 显然无法正确检索此内容,因为这部分 html 仅检索为

<div class="react" id="d_app" style="min-height: 750px; position: relative; margin-top: 145px"></div>

标签内没有任何内容;即没有图像。

我很茫然。为什么requests.get() 不给你同样的东西检查元素呢?这个标签有什么特别之处?是“react”类吗?

【问题讨论】:

    标签: python html web-scraping python-requests


    【解决方案1】:

    有可能是页面加载完毕后js加载了页面的一部分,所以requests无法访问。如果确实是这种情况,您将需要使用 selenium 或 requests-html(使用 selenium)之类的东西

    查看此部分https://github.com/psf/requests-html#javascript-support

    【讨论】:

      【解决方案2】:

      似乎它们是链接:

      <a class="displate-tile--limited d__relative displate-tile--limited-soldout" href="/limited-edition/displate/2145185">...</a>
      

      您可以通过它们的类名打开每个链接并抓取图像

      https://displate.com/limited-edition/displate/21451
      
      <img src="https://static.displate.com/1200x1200/limited/2020-04-01/e683c9fa7aa8a7ca97bce446feb7dd87_a96810e4424c9ec6942abbcc0ca05df2.jpg" class="product-page__slider-image">
      

      【讨论】:

        猜你喜欢
        • 2016-03-16
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-27
        • 2023-03-16
        • 2021-01-13
        相关资源
        最近更新 更多