{"id":330,"date":"2018-02-07T13:44:38","date_gmt":"2018-02-07T13:44:38","guid":{"rendered":"https:\/\/www.diggernaut.com\/blog\/?p=330"},"modified":"2019-08-10T08:58:19","modified_gmt":"2019-08-10T08:58:19","slug":"gathering-product-price-data-bed-bath-beyond-online-store","status":"publish","type":"post","link":"https:\/\/www.diggernaut.com\/blog\/gathering-product-price-data-bed-bath-beyond-online-store\/","title":{"rendered":"Gathering product and price data from Bed, Bath and Beyond online store"},"content":{"rendered":"<p>Bed Bath & Beyond is a chain of home-based stores in the USA, Puerto Rico, Canada and Mexico. In 1971, Warren Eilenberg and Leonard Feinstein opened a store called Bed \u2018n Bath in Springfield, New Jersey. By 1985, they managed 17 stores in New York and California. To match growth, the company was renamed Bed Bath & Beyond. Gathering product and price data from bedbathandbeyond.com website using this web scraper will be easy.<\/p>\n<p><strong>Scraper updated on 08.10.2019 due to changes to the website framework<\/strong><\/p>\n<p><strong>Approx number of goods:<\/strong> 200000<br>\n<strong>Approx number of page requests:<\/strong> 400000<br>\n<strong>Recommended subscription plan:<\/strong> Medium<\/p>\n<p><strong>PLEASE NOTE!<\/strong> The number of requests can exceed the number of products, because data about variations, images, etc. can be scraped from other resources and will require additional requests. Also part of the product data can be delivered using XHR requests, which also increases the total number of required page requests.<\/p>\n<h3>How to use the web scraper to extract data about goods and prices from bedbathandbeyond.com<\/h3>\n<p>To use the web scraper for Bed, Bath and Beyond store\u2019s website, you must have an account with our Diggernaut service. You can just simply follow this comprehensive guide:<br>\n1. Go through this <a href=\"https:\/\/www.diggernaut.com\/accounts\/signup\/\">registration link<\/a> to open free account with <a href=\"https:\/\/www.diggernaut.com\">Diggernaut<\/a>\n<br>\n2. After registering and confirming the email address, you will need to <a href=\"https:\/\/www.diggernaut.com\/accounts\/login\/\">log in to your account<\/a>\n<br>\n3. Create a project with any name and description, if you do not know how to do it, please refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-create-new-project.html\">documentation<\/a>\n<br>\n4. Switch to the created project and create a digger with any name, if you do not know how to do it, please refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-create-new-digger.html\">documentation<\/a>\n<br>\n5. Copy the following digger configuration to the clipboard and paste it into the digger you created, if you do not know how to do it, refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-digger-config.html\">documentation<\/a>\n<br>\n6. \n<strong>PLEASE NOTE!<\/strong> Basic proxy servers may not work with this site and you may need to use your own proxy servers. You will need to specify proxy server to the specific location in the digger configuration as commented. If you feel confused about this item, please contact us using the <a href=\"https:\/\/helpdesk.diggernaut.com\/\">support system<\/a> or using our online chat, we will be glad to help you.<br>\n7. Switch the mode of the digger from Debug to Active, if you do not know how to do it, please refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-edit-digger.html\">documentation<\/a>\n<br>\n8. Run your digger and wait until the completion, if you do not know how to do it, please refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-run-digger.html\">documentation<\/a>\n<br>\n9. Download the scraped dataset in the format you need, if you do not know how to do it, please refer to our <a href=\"https:\/\/www.diggernaut.com\/dev\/website-projects-scraped-data.html\">documentation<\/a><\/p>\n<p>You can also setup a schedule for running your scraper and collect data regularly.<\/p>\n<h3>Scraping configuration for the digger<\/h3>\n<pre class=\"language-yaml line-numbers\"><code class=\"language-yaml\">---\nconfig:\n    debug: 2\n    agent: Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.102 Safari\/537.36\n    proxy: #USE YOUR PROXY HERE LIKE 1.1.1.1:8888\ndo:\n- variable_set:\n    field: repeatcat\n    value: &quot;yes&quot;\n- variable_set:\n    field: repeatitems\n    value: &quot;yes&quot;\n## --------------------\n## categories collector\n- walk:\n    to: https:\/\/www.bedbathandbeyond.com\/apis\/stateless\/v1.0\/navigation\/category-navigation\n    headers:\n        accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8\n        accept-encoding: deflate\n        accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7\n        cache-control: no-cache\n        pragma: no-cache\n        upgrade-insecure-requests: 1\n    do:\n    - find:\n        path: data:haschild(label:contains(&quot;Product&quot;)) > menu > items\n        slice: 0\n        do:\n        - node_remove: promo\n        - find:\n            path: url:contains(&quot;category&quot;)\n            do:\n            - parse:\n                filter: ^([^\\?]+)\n            - normalize:\n                routine: url\n            - if:\n                match: \\\/store\\\/category\\\/\n                do:\n                - normalize:\n                    routine: replace_substring\n                    args:\n                        - \\\/?$: &#039;\/1-96&#039;\n                - link_add:\n                    pool: categories\n- walk:\n    to: links\n    pool: categories\n    repeat_in_pool: \n    headers:\n        accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8\n        accept-encoding: deflate\n        accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7\n        cache-control: no-cache\n        pragma: no-cache\n        upgrade-insecure-requests: 1\n    do:\n    - find:\n        path: title\n        do:\n        - parse\n        - if:\n            match: Access Denied\n            do:\n            - proxy_switch\n            else:\n            ## removing repeat\n            - variable_clear: repeatcat\n            - find:\n                path: &#039;#ctl00_InvalidRequest&#039;\n                in: doc\n                do:\n                - parse\n                - if:\n                    match: \\S\n                    do:\n                    - proxy_switch\n                    - variable_set:\n                        field: repeatcat\n                        value: &quot;yes&quot;\n            - find:\n                path: body\n                in: doc\n                do:\n                ## main logic to gather product item links\n                - find:\n                    path: div.mt0.tealium-product-grid\n                    do:\n                    ## collect all item links from page\n                    - find:\n                        path: &#039;div.tealium-product-tile > div[class*=&quot;ProductTile-&quot;] > a[class*=&quot;PrimaryLink_&quot;]&#039;\n                        do:\n                        - parse:\n                            attr: href\n                            filter: ^([^\\?]+)\n                        - normalize:\n                            routine: url\n                        - link_add:\n                            pool: items\n                ## and let&#039;s try to find next page here\n                - find:\n                    path: a.Pagination__btnNext\n                    do:\n                    - parse:\n                        attr: aria-disabled\n                    - if:\n                        match: &quot;true&quot;\n                        do:\n                        ## next page is not found\n                        else:\n                        ## found next page\n                        ## add new page link into pool\n                        - static_get: url\n                        - variable_set: url\n                        - filter:\n                            args: &#039;\\\/(\\d+)\\-\\d+$&#039;\n                        - variable_set: pageid\n                        - eval:\n                            routine: js\n                            body: &#039;(function () {\n                                        var cnt = ;\n                                        return cnt + 1;\n                                    })();&#039;\n                        - variable_set: pageid\n                        - variable_get: url\n                        - normalize:\n                            routine: replace_substring\n                            args:\n                            - \\\/\\d+\\-\\d+$: &#039;\/-96&#039;\n                        - link_add:\n                            pool: categories\n- walk:\n    to: links\n    pool: items\n    repeat_in_pool: \n    headers:\n        accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8\n        accept-encoding: deflate\n        accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7\n        cache-control: no-cache\n        pragma: no-cache\n        upgrade-insecure-requests: 1\n    do:\n    - find:\n        path: title\n        do:\n        - parse\n        - if:\n            match: Access Denied\n            do:\n            - proxy_switch\n            else:\n            - find:\n                path: html\n                in: doc\n                do:\n                ## removing repeat\n                - variable_clear: repeatitems\n            - find:\n                path: &#039;#ctl00_InvalidRequest&#039;\n                in: doc\n                do:\n                - parse\n                - if:\n                    match: \\S\n                    do:\n                    - proxy_switch\n                    - variable_set:\n                        field: repeatitems\n                        value: &quot;yes&quot;\n    - find:\n        path: body\n        in: doc\n        do:\n        - variable_get: repeatitems\n        - if:\n            match: \\S\n            else:\n            ## save item\n            - object_new: product\n            - find:\n                path: script:contains(&quot;window.__INITIAL_STATE&quot;)\n                do:\n                - parse\n                - space_dedupe\n                - trim\n                - filter: \n                    args: &#039;window\\.__INITIAL_STATE__\\s+\\=\\s+(.+)\\s*;\\s*window.__INITIAL_STATE__.sitespect&#039;\n                - normalize:\n                    routine: json2xml\n                - to_block\n                - find:\n                    path: body_safe > pdp > productdetails > data\n                    slice: 0\n                    do:\n                    - variable_clear: pid\n                    - variable_set:\n                        field: brand\n                        value: BedBathAndBeyond\n                    - eval:\n                        routine: js\n                        body: &#039;(function () {\n                                    var d = new Date();\n                                    return d.toISOString();\n                                })();&#039;\n                    - object_field_set:\n                        object: product\n                        field: date\n                    - static_get: url\n                    - object_field_set:\n                        object: product\n                        field: url\n                    - find:\n                        path: brand_name\n                        do:\n                        - parse\n                        - space_dedupe\n                        - trim\n                        - variable_set: brand\n                    - variable_get: brand\n                    - object_field_set:\n                        object: product\n                        field: brand\n                    - find:\n                        path: display_name\n                        do:\n                        - parse\n                        - space_dedupe\n                        - trim\n                        - object_field_set:\n                            object: product\n                            field: name\n                    - find:\n                        path: description\n                        do:\n                        - parse\n                        - space_dedupe\n                        - trim\n                        - if:\n                            match: \\w+\n                            do:\n                            - object_field_set:\n                                object: product\n                                field: description\n                    - find:\n                        path: product_id\n                        do:\n                        - parse:\n                            filter: (\\d+)\n                        - space_dedupe\n                        - trim\n                        - object_field_set:\n                            object: product\n                            field: sku\n                    - find:\n                        path: low_price\n                        do:\n                        - parse:\n                            filter: ([\\d\\.]+)\n                        - object_field_set:\n                            object: product\n                            type: float\n                            field: price\n                    - find:\n                        path: variations > all_colors\n                        do:\n                        - find:\n                            path: color\n                            do:\n                            - parse\n                            - space_dedupe\n                            - trim\n                            - if:\n                                match: \\w+\n                                do:\n                                - object_field_set:\n                                    object: product\n                                    joinby: &quot;|&quot;\n                                    field: variations\n                    - find:\n                        path: image_id\n                        do:\n                        - parse\n                        - normalize:\n                            routine: replace_substring\n                            args:\n                                - &#039;^\\s*&#039;: &#039;https:\/\/b3h2.scene7.com\/is\/image\/BedBathandBeyond\/&#039;\n                        - variable_set: image_url\n                        - register_set: ?scl=1\n                        - object_field_set:\n                            object: product\n                            joinby: &quot;|&quot;\n                            field: images\n                    - find:\n                        path: alt_img\n                        do:\n                        - split:\n                            context: text\n                            delimiter: &#039;,&#039;\n                        - find:\n                            path: div.splitted\n                            do:\n                            - parse\n                            - normalize:\n                                routine: replace_substring\n                                args:\n                                    - &#039;^\\s*&#039;: &#039;https:\/\/b3h2.scene7.com\/is\/image\/BedBathandBeyond\/&#039;\n                            - variable_set: image_url\n                            - register_set: ?scl=1\n                            - object_field_set:\n                                object: product\n                                joinby: &quot;|&quot;\n                                field: images\n            - find:\n                path: &#039;div#first > ul[class*=&quot;Breadcrumbs-&quot;] > li > a&#039;\n                slice: 0:-1\n                do:\n                - parse\n                - space_dedupe\n                - trim\n                - if:\n                    match: \\w+\n                    do:\n                    - object_field_set:\n                        object: product\n                        joinby: &quot;|&quot;\n                        field: category\n            - object_save:\n                name: product<\/code><\/pre>\n<h3>Sample of scraped data<\/h3>\n<p>Below is a sample of a dataset with several products in JSON format (so you can easily review it and see data structure). The dataset can be downloaded as CSV, XLSX, XML, or any other text format using the templates.<\/p>\n<pre><code class=\"language-js\">[{\n    &quot;product&quot;: {\n        &quot;brand&quot;: &quot;Dyson&quot;,\n        &quot;category&quot;: &quot;Gifts|Gifts by Category|Unique Gifts&quot;,\n        &quot;currency&quot;: &quot;USD&quot;,\n        &quot;date&quot;: &quot;2017-12-07T00:05:23.532Z&quot;,\n        &quot;description&quot;: &quot;Dyson&#039;s Supersonic Hair Dryer uses intelligent heat control technology to help to prevent heat damage to your hair, preserving its natural shine. This high-speed and powerful hair dryer works to straighten and smooth delivering beautiful silky hair.&quot;,\n        &quot;images&quot;: &quot;https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/145513347275522p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/98918847339040p?scl=1|https:\/\/s7d2.scene7.com\/is\/image\/BedBathandBeyond\/10160953308317m?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/10160953308317m?scl=1&quot;,\n        &quot;name&quot;: &quot;Dyson Supersonic Hair Dryer&quot;,\n        &quot;price&quot;: 399.99,\n        &quot;url&quot;: &quot;https:\/\/www.bedbathandbeyond.com\/store\/product\/dyson-supersonic-hair-dryer\/3308317&quot;,\n        &quot;variations&quot;: &quot;IRON\/FUCHSIA|WHITE\/SILVER&quot;\n    }\n}\n,{\n    &quot;product&quot;: {\n        &quot;brand&quot;: &quot;KitchenAid&quot;,\n        &quot;category&quot;: &quot;Kitchen|Small Appliances|Mixers & Attachments&quot;,\n        &quot;currency&quot;: &quot;USD&quot;,\n        &quot;date&quot;: &quot;2017-12-07T00:05:25.430Z&quot;,\n        &quot;description&quot;: &quot;This high-performance, 325 watt KitchenAid Artisan Stand Mixer is reason enough for you to get busy in the kitchen. With a 5 qt. ultra durable stainless steel mixing bowl and 10 speed settings, this tilt-back-head all-metal mixer is a kitchen essential.&quot;,\n        &quot;images&quot;: &quot;https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686512370920p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/15710817825569p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/68875814073710p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/46977543004843p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/7366314872353p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/18935118698528p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/58050514872485p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685612370938p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/17041218088827p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/31002313317640p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/24925813080976p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/150305412370911p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685714017224p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/5789314222944p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686413324514p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686612963238p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685812370962p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/104721943004836p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685912370989p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/109395460419590p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/109395760419613p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686212863004p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/109395660419606p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685412370903p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/25119914872426p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/58001413227713p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686012370997p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/7366514872434p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21686112371004p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/31722642049784p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/26824312371012p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/21685312366590p?scl=1|https:\/\/s7d1.scene7.com\/is\/image\/BedBathandBeyond\/150305412370911p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/150305412370911p?scl=1&quot;,\n        &quot;name&quot;: &quot;KitchenAid\u0412\u00ae Artisan\u0412\u00ae 5 qt. Stand Mixer&quot;,\n        &quot;price&quot;: 279.99,\n        &quot;url&quot;: &quot;https:\/\/www.bedbathandbeyond.com\/store\/product\/kitchenaid-reg-artisan-reg-5-qt-stand-mixer\/102986&quot;,\n        &quot;variations&quot;: &quot;ALMOND|AQUA|BLUE WILLOW|BORDEAUX|BOYSENBERRY|BROWN|BUTTERCUP|COBALT BLUE|CONTOUR SILVER|CRANBERRY|CRYSTAL BLUE|EMPIRE RED|GLOSS CINNAMON|GREEN APPLE|ICE|IMPERIAL BLACK|IMPERIAL GREY|LAVENDER|MAJESTIC YELLOW|MATTE BLACK|MATTE GRAY|METALLIC CHROME|OCEAN DRIVE|ONYX BLACK|PERSIMMON|PINK|PISTACHIO|SILVER|TANGERINE|WATERMELON|WHITE\/SILVER|WHITE\/WHITE&quot;\n    }\n}\n,{\n    &quot;product&quot;: {\n        &quot;brand&quot;: &quot;All-Clad&quot;,\n        &quot;category&quot;: &quot;Gifts|Gifts by Interest|Gifts for the Cook&quot;,\n        &quot;currency&quot;: &quot;USD&quot;,\n        &quot;date&quot;: &quot;2017-12-07T00:05:29.438Z&quot;,\n        &quot;description&quot;: &quot;All-Clad is the first choice of serious cooks. Three-ply bonded construction has a pure aluminum core for even heat distribution and a non-reactive stainless-steel interior and exterior for stick-resistant and easy-to-clean benefits.&quot;,\n        &quot;images&quot;: &quot;https:\/\/s7d1.scene7.com\/is\/image\/BedBathandBeyond\/1861812460112p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/1861812460112p?scl=1&quot;,\n        &quot;name&quot;: &quot;All-Clad 12-Quart Stainless Steel Multi-Cooker&quot;,\n        &quot;price&quot;: 149.99,\n        &quot;sku&quot;: &quot;12460112&quot;,\n        &quot;url&quot;: &quot;https:\/\/www.bedbathandbeyond.com\/store\/product\/all-clad-12-quart-stainless-steel-multi-cooker\/1012460112&quot;\n    }\n}\n,{\n    &quot;product&quot;: {\n        &quot;brand&quot;: &quot;Homedics&quot;,\n        &quot;category&quot;: &quot;Health & Beauty|Massage & Relaxation|Massage&quot;,\n        &quot;currency&quot;: &quot;USD&quot;,\n        &quot;date&quot;: &quot;2017-12-07T00:05:30.079Z&quot;,\n        &quot;description&quot;: &quot;Feel the soothing warmth of the HoMedics Shiatsu Neck and Shoulder Massager with the added heat to the shiatsu, vibrating, or combined settings. It&#039;s all customizable so you can feel comfortable and natural in your relaxation.&quot;,\n        &quot;images&quot;: &quot;https:\/\/s7d1.scene7.com\/is\/image\/BedBathandBeyond\/46662342763468p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/46662342763468p?scl=1|https:\/\/s7d9.scene7.com\/is\/image\/BedBathandBeyond\/46662342763468p__1?scl=1&quot;,\n        &quot;name&quot;: &quot;HoMedics\u0412\u00ae Shiatsu Neck and Shoulder Massager with Heat&quot;,\n        &quot;price&quot;: 39.99,\n        &quot;sku&quot;: &quot;42763468&quot;,\n        &quot;url&quot;: &quot;https:\/\/www.bedbathandbeyond.com\/store\/product\/homedics-reg-shiatsu-neck-and-shoulder-massager-with-heat\/1042763468&quot;\n    }\n}\n,{\n    &quot;product&quot;: {\n        &quot;brand&quot;: &quot;Presto&quot;,\n        &quot;category&quot;: &quot;Gifts|Gifts by Category|Unique Gifts&quot;,\n        &quot;currency&quot;: &quot;USD&quot;,\n        &quot;date&quot;: &quot;2017-12-07T00:05:30.730Z&quot;,\n        &quot;description&quot;: &quot;Make delicious, authentic pizza parlor pizza at home. With the exclusive Roto-bake technology you can choose exactly how bubbly the cheese should be and precisely how crispy or chewy you&#039;d like the crust.&quot;,\n        &quot;images&quot;: &quot;https:\/\/s7d1.scene7.com\/is\/image\/BedBathandBeyond\/397311975038p?scl=1&quot;,\n        &quot;name&quot;: &quot;Presto Pizzazz Pizza Cooker&quot;,\n        &quot;price&quot;: 59.99,\n        &quot;sku&quot;: &quot;11975038&quot;,\n        &quot;url&quot;: &quot;https:\/\/www.bedbathandbeyond.com\/store\/product\/presto-pizzazz-pizza-cooker\/1011975038&quot;\n    }\n}]\n<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>Bed Bath &#038; Beyond is a chain of home-based stores in the USA, Puerto Rico, Canada and Mexico. In 1971, Warren Eilenberg and Leonard Feinstein opened a store called Bed \u2018n Bath in Springfield, New Jersey. By 1985, they managed 17 stores in New York and California. To match growth, the company was renamed Bed [&hellip;]<\/p>","protected":false},"author":4,"featured_media":332,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,30,2],"tags":[],"class_list":["post-330","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ecommerce-scraping","category-free-scrapers","category-web-scraping"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/posts\/330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/comments?post=330"}],"version-history":[{"count":5,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/posts\/330\/revisions"}],"predecessor-version":[{"id":804,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/posts\/330\/revisions\/804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/media\/332"}],"wp:attachment":[{"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/media?parent=330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/categories?post=330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diggernaut.com\/blog\/wp-json\/wp\/v2\/tags?post=330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}