如果没有与之关联的唯一ID,如何在多个div中选择数据

时间:2016-03-09 19:59:47

标签: python django beautifulsoup

我正在尝试选择"用户互动,数字购买"在beautifulsoup下面的html。但是我失败了所以请帮助我。

  <div class="details-wrapper apps-secondary-color">
    <div class="details-section metadata">
      <div class="details-section-heading">
      <div class="details-section-contents">
          <div class="meta-info">
          <div class="meta-info">
          <div class="meta-info">
          <div class="meta-info">
          <div class="meta-info">
          <div class="meta-info contains-text-link">
          <div class="meta-info">
              <div class="title"> Interactive Elements </div>
              <div class="content">Users Interact, Digital Purchases</div>
          </div>
          <div class="meta-info">
          <div class="meta-info">
          <div class="meta-info contains-text-link">
          <div class="meta-info">
          <div class="meta-info meta-info-wide">
          <div class="details-sharing-section">
          </div>
          <div class="details-section-divider"></div>
       </div>
    </div>
 </div>

2 个答案:

答案 0 :(得分:1)

您可以依赖class属性:

soup.find("div", class_="content")

或者,使用CSS选择器:

soup.select_one("div.content")

如果content类不是唯一标识元素的东西,并且您知道前面的“交互元素”标签:

import re

label = soup.find("div", class_="title", text=re.compile("Interactive Elements"))
print(label.find_next_sibling("div", class_="content"))

答案 1 :(得分:0)

你可以用各种方式实现这个目标。

1. document.querySelector('.content').innerHTML;

2. $('.content').text(); / $('.content').html();

3. soup.find("div", class_="content")

4. soup.select_one("div.content")