Как я могу использовать функцию xmlimport в googlesheet, чтобы получить различные значения из DIV с тем же именем класса? - PullRequest
1 голос
/ 09 октября 2019

Это HTML-код на веб-странице, откуда я пытаюсь получить значения:

<div class="parentclass">
   <div class="subclass">
      <a class="subclass1" href="https://www.google.com">         
         <span class="_getvalclass">This is a sample text</span>
      </a>
   </div>
   <div class="subclass1">
      <div class="_getvalclass">2:30</div>      
   </div>
   <div class="subclass1">
      <div class="_getvalclass">105</div>      
   </div>
   </div>

Я использую эту функцию в листе Google

=SUBSTITUTE(CLEAN(IMPORTXML("http://www.pagename.com", "//div[@class='_getvalclass']")),",","&#44;")

Я получаю этозначение:

2:30

Прямо сейчас у меня есть два div с одинаковым именем класса "_getvalclass", есть ли способ, как я могу нацелить каждый div и получить отдельные значения? например, таргетинг на div с индексом: _getvalclass [0], _getvalclass [1]

или есть другой способ?

Вопрос части 2 (HTML-код ниже):

<div class="o39aH">
   <div class="_3sle8">
      <a class="T3XY3" href="/some-page">
         <span class="_2KIv8">Test</span>
         <span class="_2UUUp">Unique text only in some page (some page it is missing)</span>
      </a>
   </div>
   <div class="T3XY3">
      <div class="_2KIv8">2:30</div>
      <div class="_2UUUp">Time</div>
   </div>
   <div class="T3XY3">
      <div class="_2KIv8">100</div>
      <div class="_2UUUp">Pounds</div>
   </div>
   <button class="T3XY3">
      <div class="_2KIv8">some text</div>
      <div class="_2UUUp">Favorite</div>
   </button>
   <button class="T3XY3">
      <div class="_2KIv8">Other text</div>
      <div class="_2UUUp">Playlist</div>
   </button>
</div>

В некоторых случаях я хотел бы получить эти значения

<div class="_2KIv8">2:30</div>
<div class="_2UUUp">Time</div>

В других случаях я хотел бы получить эти значения

  <div class="_2KIv8">100</div>
  <div class="_2UUUp">Pounds</div>

1 Ответ

3 голосов
/ 10 октября 2019

Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Ответ на вопрос 1:

Если вы хотите получить 2:30, используя xpath с индексом "div", как насчетследующий xpath?

Пример xpath:

//div[@class='parentclass']/div[2]

или

//div[@class='parentclass']/div[2]/div[@class='_getvalclass']/text()

Пример формулы:

=IMPORTXML(A1,"//div[@class='parentclass']/div[2]")

Примечание:

  • Вы можете проверить xpath на здесь .
  • Я не уверен насчет вашего фактического URL. Поэтому я не уверен, можно ли использовать вышеупомянутый xpath для вашей ситуации. Поскольку я не уверен, можно ли получить содержимое HTML в вашем вопросе с помощью IMPORTXML.

Если это не то направление, которое вы хотите, я прошу прощения.

Ответьте заВопрос 2:

Пример xpath:

Шаблон 1:
//div[@class='o39aH']/div[2]

и

//div[@class='T3XY3'][1]

и

//div[@class='o39aH']/div[@class='T3XY3'][1]
Шаблон 2:
//div[@class='o39aH']/div[3]

и

//div[@class='T3XY3'][2]

и

//div[@class='o39aH']/div[@class='T3XY3'][2]

Образцы формул:

Укажите URL-адрес ячейки "A1".

Шаблон 1:
=IMPORTXML(A1,"//div[@class='o39aH']/div[2]")
  • В этом случае извлекаются 2:30 и Time.
Шаблон 2:
=IMPORTXML(A1,"//div[@class='o39aH']/div[3]")
  • В этом случае извлекаются 100 и Pounds.

Примечание:

  • Вы можете проверить xpath в здесь .
  • Если вы хотите получить Test иUnique text only in some page (some page it is missing), вы можете использовать xpath //div[@class='o39aH']/div[@class='_3sle8']/a[@class='T3XY3'].
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...