Search code examples
google-sheetsyahoo-finance

Google Sheets IMPORTXML XPath - Imported Content is empty


I'm attempting to parse the 'PEG Ratio' value of a stock from Yahoo Finance into a Google Sheet, but seeing an error.

URL used: https://finance.yahoo.com/quote/ABBV/key-statistics?p=ABBV

Cell Expression used: =IMPORTXML("http://finance.yahoo.com/quote/ABBV/key-statistics?p=ABBV", "//td[@data-reactid='132']")

Error: '#N/A' value (Error: Imported Content is empty)

Value expected is 1.28 (at the time of posting this query) - from Yahoo Finance > Statistics tab > PEG Ratio table (td has a, attribute data-reactid='132' that I have attempted to filter in the query)

Can anyone help please? Here is a link to the sheet: Google Sheet


Solution

  • Issue

    IMPORTXML can only read the HTML source of a website. Therefore, those elements and components of a website added dynamically will not be able to be retrieved by the IMPORTXML and thus IMPORTXML will interpret the tag to be with empty content.

    Possible workaround

    Sometimes, in the JavaScript files of the website, you can find out the URL of the source of data being inserted dynamically but that is a tedious task to achieve.

    Other option to get the desired value is to use other web scraping techniques.