Запрос XPath для функции импорта Google XML - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь написать запрос xpath для импорта некоторого контента с веб-страницы в электронные таблицы Google с помощью функции import XML. Мне нужно зафиксировать% покупок в разделе СООБЩЕНИЯ на следующей веб-странице: https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI

Этот% был 73% на момент публикации этого сообщения, но может измениться позже. (Так что мне нужно импортировать 73% в мои листы Google).

Соответствующий HTML код этой страницы имеет следующий скрипт:

</script>
        <ul class="buy_sellper">
            <li><span result="73" class="bullet_clr buy buy_results"></span>73% BUY</a></li>
            <li><span result="20" class="bullet_clr sell sell_results"></span>20% SELL</a></li>
            <li><span result="7" class="bullet_clr hold hold_results"></span>7% HOLD</a></li>
        </ul>
                    </div>
                </div>
                <div class="chart_fr ">

            <div class="txt_pernbd">73%</div>
            <div class="cht_mt25">of moneycontrol users recommend <span class=green_txt>buying</span> SBI</div>
                </div>
            <!-- buy, sell, hold starts -->
<div class="buy-sell-hold">
    <p>What's your call on SBI today?</p>
    <p>

Используя Chrome, я использовал "inspect element ", а затем" copy xpath ", что дало мне следующее ....

//*[@id="MshareElement"]

Но это не дает никаких результатов, когда я использую в таблицах Google с функцией import xml. У меня нулевые познания в программировании, и я пытаюсь изучить методы парсинга веб-страниц с помощью этой функции.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 07 мая 2020

попробуйте:

=REGEXEXTRACT(QUERY(IMPORTDATA(
 "https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI"), 
 "where lower(Col1) contains 'txt_pernbd'"), ">(.+?)<")

0


=REGEXEXTRACT(QUERY(IMPORTDATA(
 "https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI"), 
 "where lower(Col1) contains 'bullet_clr sell sell_results'"), "/span>(.+?)</a")

0


=REGEXEXTRACT(QUERY(IMPORTDATA(
 "https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI"), 
 "where lower(Col1) contains 'investor views'"), ">(.+?)<")

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...