Ошибка IMPORTHTML при извлечении данных за пределы формата таблицы - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь научиться очищать веб-сайты с помощью функции ImportXML в Google Sheets.У меня возникают трудности с извлечением имени (188) клиента, отрасли и связанных с ним ссылок.

Например: Banco Santander Испания, Финансовые услуги, https://www.cloudera.com/about/customers/banco-santander-spain.html

Веб-страница, которую я пытаюсьэто этот сайт !

Я могу привлечь только нескольких клиентов, и я не уверен, почему и что я делаю неправильно.

Проверка источника (на плитке Банко Сантандер, Испания):

<div class="col-md-3 col-sm-6">
<div class="damSearchGrid-item damSearchGrid-slide">
<a href="#" class="dam-dropdown">
<span class="damSearchGrid-img">
<imgsrc="/content/dam/www/dynamic/images/logos/customers/santander-spain-dynamic.png/_jcr_content/renditions/xcq5dam.thumbnail.140.100.png.pagespeed.ic.y7RN8qmYUY.webp" alt="Banco Santander Spain logo" data-pagespeed-url-hash="3896535651" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></span>
<span class="damSearchGrid-cat"> Financial Services</span>
<strong class="damSearchGrid-name"> Banco Santander Spain</strong>
</a>
</div>
<div class="damSearchGrid-itemDetail clearfix">
<a href="#" class="close">x</a>
<div class="col-sm-9">
<h3>Banco Santander Spain</h3>
<p>Banco Santander is using a big data architecture for a consistent view of data, on-demand data clusters, and faster time to market.</p>
</div>
<div class="col-sm-3">
<a href="https://www.cloudera.com/about/customers/banco-santander-spain.html"> SUCCESS STORY </a><br>
</div>
</div>
</div>
</b>

Итак, я попробовал несколько вещей:

Сначала я попробовал эту формулу:

=IMPORTXML("https://www.cloudera.com/about/customers.html","//li")

Iсмог вытащить только около 120 имен клиентов вместе с другими не относящимися к делу данными.

Затем я попытался:

=IMPORTXML("https://www.cloudera.com/about/customers.html","//h3")

, который вернул только короткий список из примерно 15 имен.

Я пытался сделать другие формулы, подобные приведенной ниже, но они закончились ошибками # N / A.

Пример:

=IMPORTXML("https://www.cloudera.com/about/customers.html","//span[@class='col-md col-sm-6']")

Я новичок иЯ не знаю, что мне нужно искать с точки зрения правильности запроса и определения причины проблемы.Я искал учебные пособия и примеры по IMPORTXML, но большинство из них работает с примерами, где источник находится в табличном формате.Мой сценарий кажется другим, по крайней мере для меня.

Будем весьма благодарны за любые рекомендации, советы и исходные материалы.

1 Ответ

0 голосов
/ 16 мая 2019

К сожалению, это невозможно, поскольку сайт управляется JavaScript, а Google Sheets не может понять / импортировать JS.Вы можете проверить это, просто отключив JS для данной ссылки, и вы увидите пустую страницу:

0

это все, что вы можете почистить:

=IMPORTXML("https://www.cloudera.com/about/customers.html", "//*")
...