ALL >> Others >> View Article
How To Do Mobile Apps Data Extraction On Scale?
Reverse Engineering
Now, the question is how can we do that? Assume you need to scrape data from the mobile application, let’s assume that we have got APK of an Android app and we wish to scrape 500,000 data points (UI screens) every day, how can you do that and what will be the cost?
It’s important to find how a client communicates with the servers, which protocol he is using, how they are transferring messages to each other.
As this might look like the finest scalable and affordable solution, it may only provide solutions to one application, so to do if we want to repeat a process again and again with other applications? What if an API gets changed? So, you can see that it’s hard to guess the efforts it should make.
After that, we have used Android Emulator, made installation of the APK, connected that to the proxy and observed the data.
The entire communication was done using HTTPS, after a few hours, we could able to monitor traffic from the clients to the server as well as even capable to simulate calls to a server.
Outcome
Reverse engineering is very easy to start ...
... and looks the most affordable and most scalable way of doing it. However, it may take some long days as well as the development costs are random and you don’t always get the end results.
Selendroid or Appium
With tools like Selendroid or Appium, the scenario is completely different. You can easily write the scenario that you need to test and automatically run that test script again and again. We have decided to use Appium with Android Emulator.
Android emulators are known as impossible tools to deal with for mobile development, though with the release of x86 emulators, things have started to work easily and it feels like working the applications inside laptops run quicker than the physical devices themselves.
Later, we created a Docker container using Ubuntu 16.04, Appium and Android x86 emulator to start the test about how many of those we could run at the same time.
So, assuming that we can utilize 1 CPU for 1 emulator, we will require 700 CPU’s for 700 emulators! It is a huge requirement and very expensive too!
Outcome
Physical hardware always brings good performance however, it’s very hard to deal with on a large scale.
So what to do to avoid the physical hardware management?
Well. We can use the public cloud like AWS. However, when we took this approach to the cloud, things worked completely different. Actually, Linux, Docker, AWS, and Android have worked really well together, however, with an emulator, they’re not. AWS EC2 gives you a Virtual Machine and Android Emulator is a Virtual Machine on top of that. To take benefits from the hardware acceleration while using x86 Android emulator, the host machine needs to reveal this competence, however Amazon, as well as any public clouds, don’t expose this, rather they utilize it for themselves for serving us with the virtual machines, therefore, we were unable to even start an Android x86 emulator!
So How We Have Done That? Well, We have used Ravello.
Ravello Cloud
The Ravello solution has provided nested virtualization or Kernel-based Virtual Machine support on host machine when running on a public cloud.
It has given us the capability to run the x86 Android emulators on the cloud. We have tried it and it worked also, however, in terms of performance, the scrapping has taken 3 times more time compared to physical machines and with the use of more emulators, things have got worse.
Add Comment
Others Articles
1. Essential Applications Of Hplc In The Pharmaceutical IndustryAuthor: Peter Lee
2. Boat Launches Airdopes Progear: Next-gen Open-ear Earbuds
Author: Digital Terminal
3. Tips To Find Out The Best Remington 870 Heat Shield Online
Author: Slade Street Tactical
4. The Future Of Data Analytics: Trends To Watch In 2025
Author: Ben Gross
5. International Conference On Materials Science And Nanotechnology
Author: Noveltics Group LLC
6. Emerging Technologies That Will Shape Your Business In 2025
Author: Orson Amiri
7. The Ultimate Guide To A Stress-free Move With Packers And Movers In Ranchi
Author: Shree Ashirwad Packers and Movers
8. Emerging Search Engine Marketing Trends To Watch For 2025
Author: Orson Amiri
9. How To Choose The Right Storage Unit In Liverpool: A Comprehensive Guide
Author: Big Padlock
10. Best Astrologer In Vizianagaram
Author: Astrology56
11. Liquid Injection Molding Led Silicone Lens For High Power Tunnel, Seaport Industrial Lighting
Author: yejiasilicone
12. Best Astrologer In Sudhama Nagar
Author: Famousbanglore
13. Pier Seven’s Guide To Building A Career In Aviation
Author: pierseven
14. 5 Innovative Uses Of Pipes And Tubes You Never Knew About
Author: sagar steel
15. Automation Trends Shaping The Future Of Business In 2025
Author: Orson Amiri