Google Sheets IMPORTHTML «Не удалось получить данные»

#google-sheets

Вопрос:

Я пытаюсь понять, почему вдруг мои ссылки importhtml больше не работают, и они говорят «Не удалось извлечь данные из URL».

Вот ссылка на сайт https://www.baseball-reference.com/players/split.fcgi?id=wheelza01amp;year=Careeramp;t=p

На этом сайте прокрутите вниз до «Позиции в порядке отбивания», а затем я пытаюсь просто вытащить данные tOPS . Есть ли какой-нибудь способ использовать XML? Я просто использовал ссылку в таблице встраивания для importhtml, и она работала раньше

Любая помощь очень ценится

Комментарии:

1. это часто встречается, компании могут свободно изменять свои веб-сайты по своему усмотрению, скорее всего, они создают свою страницу с помощью javascript. Итак, единственный вариант-это json.

Ответ №1:

сайт, который вы пытаетесь очистить, проходит «модернизацию JS», и Google таблицы не могут импортировать элементы JavaScript. вы можете проверить это следующим образом:

введите описание изображения здесь

и убедитесь, что значения, которые вы пытаетесь импортировать, отсутствуют

Комментарии:

1. О, хорошо. С чего бы я начал изучать, как очищать данные, или какие у меня есть варианты

2. @DavidR вам нужно будет найти другой сайт, не связанный с JS, на котором размещены те же данные, которые вы хотите удалить

Ответ №2:

Данные маскируются с помощью

 <!-- ... -->
 

, тем не менее, вы можете получить их таким образом

 =importxml(A1,"//div[@class='table_wrapper setup_commented commented']")
 

предполагая, что в A1 у вас есть свой URL-адрес. Если вам нужны только «Позиции в порядке отбивания», попробуйте

 =query(importxml(A1,"//div[@class='table_wrapper setup_commented commented']"),"select Col3 where Col3 contains 'Batting Order Positions' ")
 

Затем вам нужно разделить ответ, чтобы получить чистую таблицу.

введите описание изображения здесь