Start Your Project with Us

Whatever your project size is, we will handle it well with all the standards fulfilled! We are here to give 100% satisfaction.

  • Any feature, you ask, we develop
  • 24x7 support worldwide
  • Real-time performance dashboard
  • Complete transparency
  • Dedicated account manager
  • Customized solutions to fulfill data scraping goals
Careers

For job seekers, please visit our Career Page or send your resume to hr@actowizsolutions.com

A-Beginner-s-Guide-to-Analyzing-Food-Delivery-Data-Online.jpg

In this blog, we will analyze the significant players in the food delivery segment in Germany.

Lieferando is the leading food delivery aggregator mediator between the restaurant and the customer. Customers can select between various cuisines, restaurants, prices, and menu items through these aggregators.

To start with, we have to collect data on Lieferando.

There is a pythonic technique to scrape this data; however, we won't get it covered. Let's start by navigating Lieferando's site and submitting the address to delivery locations. We've chosen an address in inner Berlin where there will probably become a higher restaurant availability.

There-is-a-pythonic-technique-to-scrape.jpg

Before refreshing the pages, launch the Chrome Inspector Tool. Go to the Networks tab and search for the Fetch/XHR request, which looks like this:

Before-refreshing-the-pages.jpg

In the background, the network request is dragging in the JSON file with all restaurants within the range of the typed Home Address. We have just right to click the preview request as well a copy as given below:

right-to-click-the-preview.jpg

Save a JSON file within the text editor.

We will fire up the Jupyter Notebook to see what's within our JSON file.

Save-a-JSON-file-within-the-text-editor.jpg Lets-break-the-rows-down-slowly.jpg

Let's break the rows down slowly.

The restaurant ID uniquely defines every restaurant as:'''' Every id is associated with many rows describing a restaurant, like its brand, location, cuisine type, voucher acceptance, payment procedures, or delivery polygons.

In some rows, we get nested JSON objects like brand, location, supports, ratings, and shippingInfo. All these objects get 2nd-level JSON data having more data.

You could think about nested JSON objects like a tree in which one branch has many branches till you get the leaves.

What we will do here is filter the rows which we wanted with the given code.

What-we-will-do-here-is-filter-the-rows-which.jpg

By comparing column length with the full restaurants accessible on Lieferando's main page, we understand there are higher numbers of restaurants within the dataset. By having a ''uport'' row, we can observe that Boolean values for ''deliver'' represent True or False. We believe that we get Falses in our datasets; therefore, restaurants that don't deliver are included, so sellers filter that out.

What we would do here is to the will the ''uports' row as well as convert that row into a Pandas series entity that is a one-dimensional array. The apply technique applies a Pandas series function with every element in a row.

What-we-would-do-here-is-to-the-will-the.jpg Within-our-delivery-is-true.jpg

Within our 'delivery_is_true' object, we get all restaurant IDs with a True delivery value. We will utilize this list for filtering my whole dataset. And after that, we would repeat this exercise and crush out a 'location' row.

And-after-that-we-would.jpg Now-we-have-values-for-city.jpg

Now, we have values for city, country, street address, time zone, and coordinates for every restaurant ID.

We would repeat an exercise with rows' shippingInfo' and 'brand.' And inside 'brand,' we want a 'name' column, as well as within 'shippingInfo,' we would only filter columns: 'minOrderValue and 'deliveryFeeDefault.'

we-would-only-filter-columns.jpg we-would-only-filter-columns-2

Now, we get Delivery Fees as well as Minimum Order Value for every Restaurant ID. These numbers being shown are like an integer. What we want is to convert it into a float.

Now-we-get-Delivery-Fees.jpg We-would-now-focus-on-all-the

We would now focus on all the objects processed in one Lieferando dataset.

Lieferando-dataset.jpg right-to-click-the-preview-2.jpg

Fantastic, so we get our complete listing of restaurants, addresses, delivery fees, and minimum order values. If we love to observe how much the share of a complete listing of restaurants is, we would need to turn both 'deliveryFeeDefault' and 'minOrderValue' by the counts of restaurants.

by-the-counts-of-restaurants.jpg Depending-on-the-given-table.jpg

Depending on the given table, we understand that around 70% of the restaurants making deliveries to our addresses have 10 Euros minimum order value, and the delivery fees range from 0-5 Euros- most of which are in 4-5 Euros bucket. One factor getting calculated in delivery fees here is the distance between a restaurant and customers and the timing it would need to deliver.

Seeing that we get the coordinates for all the Lieferando restaurants, we could go one step further to plot it across Berlin.

To do that, we would require to initially convert latitude & longitude columns into a float as well as read a suitable shapefile for Berlin.

In addition, we would add the coordinates given below and show them as the red point.

In-addition-we-would-add-the.jpg Good-Now-we-get-all-restaurants.jpg

Good! Now we get all restaurants visualized like orange dots, delivered to the address. Now let's authorize that the further the restaurants are from the customers, the higher the shipping fees would be. We could utilize

earlier insights which, at minimum, 70% of the restaurants delivering are within the range of 0–5 Euros, and make a function for applying any color to a scatter point depending on the delivery fees.

earlier-insights-which-at-minimum.jpg Wonderful-So-we-ve-established.jpg

Wonderful! So we've established that the closer a restaurant is to the consumer, the lower the delivery fees would be. There are a few

exceptions where a restaurant is far away outside an inner city; however, the delivery fee is 0-3.99 Euros.

That's it for now! Happy Scraping!

For more information, contact Actowiz Solutions!

Contact us for all your mobile app scraping and web scraping services requirements.

RECENT BLOGS

View More

How Can You Scrape Google Maps POI Data Without Getting Blocked?

Learn effective techniques to Scrape Google Maps POI Data safely, avoid IP blocks, and gather accurate location-based insights for business or research needs.

How to Build a Scalable Amazon Web Crawler with Python in 2025?

Learn how to build a scalable Amazon web crawler using Python in 2025. Discover techniques, tools, and best practices for effective product data extraction.

RESEARCH AND REPORTS

View More

Research Report - Grocery Discounts This Black Friday 2024: Actowiz Solutions Reveals Key Pricing Trends and Insights

Actowiz Solutions' report unveils 2024 Black Friday grocery discounts, highlighting key pricing trends and insights to help businesses & shoppers save smarter.

Analyzing Women's Fashion Trends and Pricing Strategies Through Web Scraping Gucci Data

This report explores women's fashion trends and pricing strategies in luxury clothing by analyzing data extracted from Gucci's website.

Case Studies

View More

Case Study - Revolutionizing Global Tire Business with Tyre Pricing and Market Intelligence

Leverage tyre pricing and market intelligence to gain a competitive edge, optimize strategies, and drive growth in the global tire industry.

Case Study: Data Scraping for Ferry and Cruise Price Optimization

Explore how data scraping optimizes ferry schedules and cruise prices, providing actionable insights for businesses to enhance offerings and pricing strategies.

Infographics

View More

Crumbl’s Expansion: Fresh Locations, Fresh Cookies

Crumbl is growing sweeter with every bite! Check out thier recently opened locations and see how they are bringing their famous cookies closer to you with our web scraping services. Have you visited one yet

How to Use Web Scraping for Extracting Costco Product Specifications?

Web scraping enables businesses to access and analyze detailed product specifications from Costco, including prices, descriptions, availability, and reviews. By leveraging this data, companies can gain insights into customer preferences, monitor competitor pricing, and optimize their product offerings for better market performance.