Scrap particular data from multiple product web pages and save it into one Excel file automatically creating new columns for each page

Hi guys,

I am a newbie in UiPath. Could you please help me out to build this robot for the task below?

I have Excel file with list of URLs (product details page links).

  1. So, I need robot to open every each link from Excel file in separate browser window. – this part I know how to do it

  2. Scrap particular data from each product web page

Name of the product

General Specification details

  1. Automatically save this data for each URL / product by column in the SAME Excel file (EX: Result.xlsx)

  2. (Ideally) I would like to save data in by rows (horizontally) not by columns (vertically)

I heard some ideas like:

1 – Build DataTable > Scrap data > Load it to DataTable > Use WriteRange activity to save it into Excel file + write settings so it adds new column every each time it scraps data.

OR

2 –(NOT to create DataTable), but Scrap data > Use WriteRange activity to save it into Excel file + write settings so it adds new column every each time it scraps data.

What is the best way that will work? Please help.

Thanks in advance.

Here are the links for your reference:

URL1 - Samsung Galaxy J6 (Blue, 64 GB) (4 GB RAM)

URL2 - Samsung Guru 1200 (Indigo Blue)

URL3 - Apple iPhone X (Space Gray, 64 GB)

this should work. what happens when you do this?

@nova001 you can use data scraping activity to get data.

Hi @nova001

The best option for you would be to use teh data scraping wizard. It will create a column for every attribute you capture/ scrape.

For each row in your source ETL
Navigate to URL
Scrape the data to a datatable
Merge it to another data table : for example purpose I’ll name it as finalDT

  • each scrape will add the data to a datatable and each scrape will overwrite the data in that datatable used for data scraping. That’s why we are merging it toanother DT which we can use to write the result to an Excel at once. This way, you will only write the data once which is more efficient…

Out side the for each loop, do a write range using the FinalDT

Here is my workflow… but settings are wrong… I need help with it

  1. I created DataTable with variable dataBuild
  2. Then used Wizard to scrap data from Specifications, because it stored as a table, so Wizard works (in case of Name of the product, Wizard is asking for 2nd identical element, but there is none, so I dont know how to scrap the name alone) - Data Scrap output by default is ExtractDataTable.
  3. then I tried to use Assign activity and Add Data Column to save the data into DataTable (dataBuild), but the settings are wrong I think… :frowning:
  4. Message box for DataTable returns - 1 (because there is no data there yet), message box for Extract DataTable returns 9 rows (so data get scraped by Wizard but doesnt get stored in DataTable)
  5. WriteRange activity - doesnt work as well, becuase there is no data in DataTable

Nova-DataScrap5-1.xaml (12.3 KB)

Data Scrap Wizard works only for tables becuase it asks for 2nd element, but if i want just to take one particular data it’s worthless… can you teach me how to scrap single data from the page and load it to DataTable?

I had made this a few months back. check if it helps you.Main.xaml (11.5 KB)

Hi ViraJ, thank you, but that’s not really what I need.

Can anyone explain how to do the following things:

  1. Scrap product name ONLY from the web page and save it into data table
  2. Merge data tables OR how to make robot scrap and save data aqutomatically creating next column

Thank you in advance.