# Extracting data from a webpage

**URL:** <https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334>\
**Category:** General\
**Created:** [7 February 2026 11:37 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334 "2026-02-07T11:37:53Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [7 February 2026 11:37 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/1 "2026-02-07T11:37:53Z")

</div>

Hi ,  
I am trying get a cell data from a webpage but gives me an error "Json parse error".

````auto
    {
        "id": "8021ac643abe9bd7",
        "type": "inject",
        "z": "5c0984f6408e957c",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 180,
        "y": 140,
        "wires": [
            [
                "68304d98c7cee3f9"
            ]
        ]
    },
    {
        "id": "68304d98c7cee3f9",
        "type": "http request",
        "z": "5c0984f6408e957c",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://cloud.suryalog.com",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 350,
        "y": 140,
        "wires": [
            [
                "4e7b2fc1bdf24494"
            ]
        ]
    },
    {
        "id": "398a530d4521d4cc",
        "type": "debug",
        "z": "5c0984f6408e957c",
        "name": "debug 2",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 760,
        "y": 120,
        "wires": []
    },
    {
        "id": "4e7b2fc1bdf24494",
        "type": "html",
        "z": "5c0984f6408e957c",
        "name": "",
        "property": "payload",
        "outproperty": "payload",
        "tag": ".tabulator-cell 120,98 x30",
        "ret": "html",
        "as": "single",
        "chr": "_",
        "x": 550,
        "y": 140,
        "wires": [
            [
                "398a530d4521d4cc"
            ]
        ]
    }
]```

I am trying to get data as given below
````

---

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [7 February 2026 11:41 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/2 "2026-02-07T11:41:44Z")

</div>

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/5/55960a1d73d0a4635804bf8188cc5fa5ed4b1570.png)

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [7 February 2026 12:07 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/3 "2026-02-07T12:07:53Z")

</div>

> [@joey\_ind](#):
>
> `"tag": ".tabulator-cell 120,98 x30"`

This tag doesn't look right. That is not a valid selector.

You need to first extract the whole table. Then convert the table to JSON and then you can pick out the correct entry.

---

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [7 February 2026 13:32 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/4 "2026-02-07T13:32:20Z")

</div>

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/5/95f86f1b1a3de3e834fa62af788f38ef1b109e3c.png)  
I tried this ...result the same...

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [7 February 2026 13:40 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/5 "2026-02-07T13:40:59Z")

</div>

> [@joey\_ind](#):
>
> I tried this ...result the same...

You really need to share your configuration when saying things like this.

Are you saying that you got the content of the page using an http-request node, then used an html node to extract the table using the CSS selector `#source_table_day` and then pass that to a JSON node?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/a/fa31247e4b5e3aa90158805ff6203d8523fce27a.png)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/4/b43605fdd6fda9898e467d7397c8bd85631333c8.png)

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [7 February 2026 13:45 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/6 "2026-02-07T13:45:50Z")

</div>

You are asking the http request node to return a parsed JSON object, but the page is returning a html string. change the requested nodes return type a `utf8 string`. Then the `JSON parse error` will disappear.

---

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [7 February 2026 14:08 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/7 "2026-02-07T14:08:35Z")

</div>

That's right...Now after changing the return message to "UTF8-String" in http node, the JSON parse error has disappeared but the node returns "empty" message.

I login in to this webpage with my credentials.Do I need put those details somewhere in the nodes?

---

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [9 February 2026 08:58 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/8 "2026-02-09T08:58:20Z")

</div>

ok. Now have some response but not sure how to get the figures.  
Response received : Expected name, found .#source\_table\_day

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/e/de87c70b1ac9edce6dfcc862c85ce40c81eca2f9.png)

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [9 February 2026 09:23 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/9 "2026-02-09T09:23:57Z")

</div>

Try it without the `.`  
ie. `#source_table_day`

---

<div class="post-metadata">

**Author:** ![joey\_ind](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@joey\_ind](https://discourse.nodered.org/u/joey_ind)\
**Post date:** [9 February 2026 09:43 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/10 "2026-02-09T09:43:10Z")

</div>

Without the "." it returns an empty array

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [9 February 2026 10:14 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/11 "2026-02-09T10:14:52Z")

</div>

Fwiw, it is very unlikely any dynamic data will be returned in the HTML. It's more likely there is an API call to get the data and JavaScript populates that table.

See this recent similar post: [How to deconstruct web pages with http-request - #2 by Steve-Mcl](https://discourse.nodered.org/t/how-to-deconstruct-web-pages-with-http-request/97323/2)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [10 May 2026 10:15 UTC](https://discourse.nodered.org/t/extracting-data-from-a-webpage/100334/12 "2026-05-10T10:15:06Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
