Bloomingdales Scraper avatar
Bloomingdales Scraper
Try for free

14 days trial then $50.00/month - No credit card required now

View all Actors
Bloomingdales Scraper

Bloomingdales Scraper

dtrungtin/bloomingdales-scraper
Try for free

14 days trial then $50.00/month - No credit card required now

Extracts all the products from https://www.bloomingdales.com/

Bloomingdales Scraper

Bloomingdales Scraper is an Apify actor for extracting data about actors from Bloomingdales. It allows you to extract all products. It is build on top of Apify SDK and you can run it both on Apify platform and locally.

Input

FieldTypeDescriptionDefault value
startUrlsarrayList of Request objects that will be deeply crawled. The URL can be home page like https://www.bloomingdales.com/ or category page https://www.bloomingdales.com/shop/makeup-perfume-beauty/luxury-lip-balm?id=1005921 or detail page https://www.bloomingdales.com/shop/product/laura-mercier-lip-balm-spf-15?ID=519181&CategoryID=1005921.[{ "url": "https://www.bloomingdales.com/" }]
maxItemsnumberMaximum number of detail/product page that will be scraped. Each product may have more than one color corresponding to more than one items in datasetall found
extendOutputFunctionstringFunction that takes a Cheerio handle ($) as argument and returns data that will be merged with the result output. More information in Extend output function
proxyConfigurationobjectProxy settings of the run and the proxy is required. This actor works better with the Apify proxy group SHADER or RESIDENTIAL. If not, you can use other Apify proxy groups{ "useApifyProxy": true, , "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }

Output

Output is stored in a dataset. Each item is an information about a product. Example:

1{
2  "url": "https://www.bloomingdales.com/shop/product/burberry-lightweight-giant-check-wool-silk-scarf?ID=3611219&CategoryID=3376",
3  "categories": [
4    "Jewelry & Accessories"
5  ],
6  "scrapedAt": "2019-11-28T03:26:00.887Z",
7  "title": "Lightweight Giant Check Wool & Silk Scarf",
8  "description": "Burberry's oblong scarf offers lightweight luxe with its sheer, gauzy fabrication.",
9  "designer": null,
10  "itemId": "3611219",
11  "color": "Limestone",
12  "price": 390,
13  "salePrice": 234,
14  "currency": "USD",
15  "source": "www.bloomingdales.com",
16  "brand": "Burberry",
17  "images": [
18    {
19      "src": "https://images.bloomingdalesassets.com/is/image/BLM/products/9/optimized/10295289_fpx.tif"
20    },
21    {
22      "src": "https://images.bloomingdalesassets.com/is/image/BLM/products/0/optimized/10295290_fpx.tif"
23    }
24  ],
25  "composition": [
26    "Wool/silk"
27  ],
28  "sizes": [],
29  "availableSizes": []
30}

Compute units consumption

Keep in mind that it is much more efficient to run one longer scrape (at least one minute) than more shorter ones because of the startup time.

The average consumption is 0.2 Compute unit for 1000 actor pages scraped

Extend output function

You can use this function to update the result output of this actor. This function gets a Cheerio handle $ as an argument so you can choose what data from the page you want to scrape. The output from this will function will get merged with the result output.

The return value of this function has to be an object!

You can return fields to achive 3 different things:

  • Add a new field - Return object with a field that is not in the result output
  • Change a field - Return an existing field with a new value
  • Remove a field - Return an existing field with a value undefined
1($) => {
2    return {
3        "saleEnd": $('.sale-ends span').text().trim(),
4        "salePrice": 0,
5        url: undefined
6    }
7}

This example will add a new field saleEnd, change the salePrice field and remove url field

1{
2  "saleEnd": "Sale Ends 11/30/19",      
3  "categories": [
4    "Jewelry & Accessories"
5  ],
6  "scrapedAt": "2019-11-28T03:26:00.887Z",
7  "title": "Lightweight Giant Check Wool & Silk Scarf",
8  "description": "Burberry's oblong scarf offers lightweight luxe with its sheer, gauzy fabrication.",
9  "designer": null,
10  "itemId": "3611219",
11  "color": "Limestone",
12  "price": 390,
13  "salePrice": 0,
14  "currency": "USD",
15  "source": "www.bloomingdales.com",
16  "brand": "Burberry",
17  "images": [
18    {
19      "src": "https://images.bloomingdalesassets.com/is/image/BLM/products/9/optimized/10295289_fpx.tif"
20    },
21    {
22      "src": "https://images.bloomingdalesassets.com/is/image/BLM/products/0/optimized/10295290_fpx.tif"
23    }
24  ],
25  "composition": [
26    "Wool/silk"
27  ],
28  "sizes": [],
29  "availableSizes": []
30}

Epilogue

Thank you for trying my actor. I will be very glad for a feedback that you can send to my email dtrungtin@gmail.com. If you find any bug, please create an issue on the Github page.

Developer
Maintained by Community
Actor metrics
  • 1 monthly users
  • 100.0% runs succeeded
  • Created in Nov 2019
  • Modified almost 2 years ago
Categories