'Extracting data from a web page to Excel sheet

How can I extract information from a web page into an Excel sheet?

The website is https://www.proudlysa.co.za/members.php and I would like to extract all the companies listed there and all their respective information.



Solution 1:[1]

The process you're referring to is called web scraping, and there are several VBA tutorials out there for you to try.

Alternatively, you can always try

(source: netdna-ssl.com)

Solution 2:[2]

I tried creating something to grab for all pages. But ran of time and had bugs. This should help you a little. You will have to do this on all 112 pages.

Using chrome go to the page

type javascript: in the url then paste the code below. it should extra what you need. then you will have to just copy and paste it in to excel.

var list = $(document).find(".pricing-list");
var csv ="";
for (i = 0; list.length > i;i++) {
    var dataTags = list[i].getElementsByTagName('li');
    var dataArr = [];
    for (j = 0; dataTags.length > j;j++) {
        dataArr.push(dataTags[j].innerText.trim());

    }
    csv += dataArr.join(', ') + "<br>";
}

you will get something like this

enter image description here

EDITTED

use this instead will automatically download each page as csv then you can just combine them after somehow.

Make sure to type javascript: in url before pasting and pressing enter

Also works with chrome, not sure about other browsers. i dont use them much

var list = $(document).find(".pricing-list");
var csv ="data:text/csv;charset=utf-8,";
for (i = 0; list.length > i;i++) {
    var dataTags = list[i].getElementsByTagName('li');
    var dataArr = [];
    for (j = 0; dataTags.length > j;j++) {
        dataArr.push(dataTags[j].innerText.trim());

    }
    csv += dataArr.join(', ') + "\n";
}
var a = document.createElement("a");
a.href = ""+ encodeURI(csv);
a.download = "data.csv";
a.click();

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Glorfindel
Solution 2