Получить текст из span, используя cheerio и node.js - PullRequest
0 голосов
/ 22 апреля 2020

Привет! Я пытаюсь получить текст внутри диапазона, тот, который имеет «Текст для получения»

Я получаю div с помощью class = "members-limit-section capture-area", используя cheerio и node.js, но я не могу получить текст из промежутка.

У меня есть эта функция для получения div, и я вижу, что в нем есть больше элементов, но я не могу получить текст

 url = "URLdata";
      rp(url)
        .then(function (html) {
          var getHtml = $("div[class='membership-limit-section capture-area']", html);
          console.log(getHtml);
        })
        .catch(function (err) {
          console.log(err);
        });

<body data-n-head>
  <div id="_nuxt">
    <div id="__layout">
      <div class="app-wrapper purge-css-ignore">
        <div class="main-container">
          <section class="el-container">
            <main
              class="el-main auto-height-on-print capture-area"
              id="components-root"
            >
              <div data-v-5cc60f9e>
                <div data-v-5cc60f9e class="responsive-section">
                  <div
                    data-v-7ce2662e
                    data-v-5cc60f9e
                    class="membership-limit-section capture-area"
                  >
                    <div data-v-5cc60f9e class="dividends">
                      <div>
                        <div
                          data-v-593f497d
                          class="el-card capture-area is-always-shadow"
                        >
                          <h1 data-v-593f497d>Test</h1>
                          <div
                            role="alert"
                            class="el-alert el-alert--warning is-light"
                            data-v-593f497d
                          >
                            <div class="el-alert__content">
                              <span class="el-alert__title">Text to get</span>
                              <i
                                class="el-alert__closebtn el-icon-close"
                                style="display: none;"
                              ></i>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </main>
          </section>
        </div>
      </div>
    </div>
  </div>
</body>

Может кто-нибудь помочь с тем, как получить текст из промежутка?

Спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Следующий указатель сделает для этого указанного c ответа: .membership-limit-section.capture-area .el-alert__title

Затем вы можете использовать .text(), чтобы получить текст span.

var getHtml = $(
  ".membership-limit-section.capture-area .el-alert__title",
  html
);

console.log(getHtml.text())

Обновление:

gurufocus.com / stock / KO / дивиденды Я хочу "Непрерывное увеличение дивидендов с 1963 года", но не могу его получить. Я могу анализировать информацию с Yahoo, используя Cheerio, но не с этого сайта

Содержимое, которое вы хотите очистить, загружается на стороне клиента с помощью XHR. Таким образом, вы не сможете проанализировать его напрямую, используя request & cheerio, так как эта часть не возвращается, либо вы попадете в конечную точку, возвращающую эти данные напрямую, либо вы используете puppeteer на главном сайте.

При проверке запросов и приветствий всегда регистрируйте содержимое и проверяйте, присутствует ли то, что вы хотите проанализировать.

...