Emmela’s Web Scraping Services Include:
- Extraction of publicly and allowed Online Data
- Unstructured to Structured data conversion
- Making the extracted data available as API/ JSON ready for consumption or Web Data Integration.
Want to know more on our
WEB SCRAPING SERVICES?
Emmela is Happy to Assist. Happy Data. Cheers!!!
+91 9632 30 66 00 | raja@emmela.com
Our Web Scraping process
- Analysis
- Check the legality of web scraping
- Identify ways to crawl if allowed.
- Check for different patterns in the data
- Usually takes a couple of hours to complete the whole analysis
- Scraper
- As per the analysis write the crawler.
- Time estimate based on the type of crawlers in days
- Simple: 2 – 3
- Medium:2 – 4
- Complex: 3 – 5
- Data
- Dump in DB such that the application consumes OR
- Upload in the given FTP location OR
- Create web-based solutions on Flask with JSON as a response.
- Sanity
- Checks the health of crawler runs and data extracted.
- Schedule
- Schedule the crawl to run as per the required frequency
- Run-time Scrapers
- Get the system ready to get the data extracted by running crawler at any given time for a set of desired parameters.
- Integration
- Scraper added to the platform for consumption
- Manual Monitoring
- Quality check enabled at all levels.
Classification of Web Sources
SIMPLE
Simple Crawlers
Is a plain HTML web page or an RSS feed
Has all the data to be extracted available on one page.
No Navigation needed to crawl the data. I.e., all the requested data is available on the same page.
Very less pagination or volumes of data
MEDIUM
Medium Crawlers
Has all or a set of features of Simple
Has 1-2 levels of navigation or a simple form-based approach
Email crawling
Source has demographic restrictions, where we need to use respective proxies.
Has forms to fill before extracting data
Complex
Complex Crawlers
Has all or a set of features of Medium
Has nested navigation to extract data
Login based crawlers
Displays captcha to extract data
Server frequently throws errors or blocks the IP Address to crawl the data.
Has a lot of pages to crawl – huge pagination
PDF/ IMAGE crawling [ Based on the resolution, additional manual efforts may be needed. ]
Websites that run on Javascript/ using Angularjs / IFrames
Web Scraping Services FAQs
- What about login based crawling
- Yes, we can handle. Few of them can be straightforward else based on passing cookies we crawl them.
- Reg privacy
- We care for it. We sign NDA to start.
- How do you check the correctness of the crawling?
- We write sanity reports and alert emails wherever needed. Understand the response frequency & patterns if any. Based on the inputs Sanity system will be designed. Also, sync with the customer team for domain knowledge and take inputs to be more robust. The initial days shall be more with exchanging emails and calls to get the whole Scraping Ecosystem in place.
- How do we scale crawling?
- We can add additional team members to get done on an emergency. We have a good team to work. An alert to be given beforehand helps us to keep ready additional resources. The ecosystem is customised and built as per the individual client requirements. Ecosystem helps in adding new crawlers to any scale.
- How are the timelines?
- Timelines are based on the complexity of the crawler. It ranges from a day to 5 working days at max. If it takes longer than expected, we’ll keep you informed in the analysis phase.
- How do you determine the complexity of the crawling?
- We categorise websites into 3 types: Simple, Medium and Complex. More details are given at 2.1Time taken to write the crawlers in all the above 3 cases is almost the same. The additional time/ efforts are to be put in the analysis; understanding the website, patterns and data visibility.
- Do you crawl all the websites?
- Yes, we attempt to crawl all the websites that have data publicly available or is allowed to crawl.
- This can be determined by checking robots.txt. This way we are legally entitled to crawl. If it is mentioned ‘disallow’ we convey the same to the client.
- Yes, we attempt to crawl all the websites that have data publicly available or is allowed to crawl.
- How do you handle multiple requests to a particular website without blocking?
- We do impose IP Rotation.
- We have multiple IPs that fire the requests with random IP. Does IP rotation usage incur additional costs?Not all times. Depends on the volume of data and type of website.
- We do impose IP Rotation.
- What about infra?
- We can set up internally the machines and crawl the data. The crawled data is being pushed to client machines
- As a CSV file in an email daily ORVia FTPPush data in the respective MySQL DB.
- We can set up internally the machines and crawl the data. The crawled data is being pushed to client machines
- Captcha
- We solve captcha by our techniques of reading the image. At times we take the help of paid services like DBC or other APIs that are available. If any paid service is incorporated the charges are levied upon the client. There are chances where we may not solve the captcha. We convey the same beforehand.
- How do you charge?
- We have two types:
- Type 1: Charge hourly basis
Adv: Pay as per the crawlers developed & maintained.
Conditions: Minimum hours of work needs to assigned per month. - Type 2: Dedicated Full-time resource
Dedicated to the client and acts as an extended team for the customer
Economical
If the dedicated person is on leave, our team takes care of KT or additional support without break.
Domain knowledge can be built that helps in monitoring sanity systems - Type 3:This is the combination of Type 1 & 2. Clients can opt a full-time resource and have additional resources at emergency or priority/ demo times hourly basis.
- Type 1: Charge hourly basis
- We have two types:
Solutions and Case Studies
- Extraction of Video MetaData
- Requirement
- Movie/ Tv Show/ EPG metadata needed to build Voice search in TV remote
- Solution
- From popular and rich movie & tv show content related websites, extracted entertainment metadata
- The extracted metadata is cleaned and gaps filled to create a consumable database pumping metadata for voice search.
- Technology
- Python. Scrapy, Selenium
- Database: MySql
- Requirement
- Unified Requirements Portal
- Requirement
- Has approximately 60 clients to track the retail requirements which are given VIAAuthenticated login based web portal OR An Email with attachments or data in the bodyThe said 60 clients do post the requirements round the clock. Manually it is a tough job to log in each website now and then to note the requirements.
A unified portal is needed where all the requirements are displayed and even tracked down.
- Has approximately 60 clients to track the retail requirements which are given VIAAuthenticated login based web portal OR An Email with attachments or data in the bodyThe said 60 clients do post the requirements round the clock. Manually it is a tough job to log in each website now and then to note the requirements.
- Solution
- Written web scrapers to log in and check for the latest data or new requirements.
- If available the scrapers extract to push the data into a common database with a timestamp and necessary details.
- Written crawlers to read email, download the attachments.
- The extracted data is pushed to a database.
- Built a simple UI to display all the fetched data at one place and a tracking workflow too.
- Generate reports detailing the number of requirements with the status of completion daily.
- Normalised the parameters used across the 60 clients while dumping into a database for a uniform display and clear understanding of the entities. This happens as each client has its own naming convention.
- Technology
- Web Crawling
- Python, Scrapy, Selenium
- Web Development
- Python, Django
- Web Crawling
- Requirement
- Booking Tickets Automation
- Requirement
- For a flight/ Bus aggregator to book or cancel tickets by users, should be happening on the go seamlessly avoiding manual efforts.Not all AIR/ BUS service providers do give API.
- Solution
- Written Scrapers to book and cancel the tickets.
If API is available used it else programmatically logged in for the respective data. Scaled the systems such that the traffic can be handled while requesting the service provider websites. - Designed a UI that gives daily stats. Email alerts are in place if the automated pipeline breaks for manual intervention until the system gets restored.
- Written Scrapers to book and cancel the tickets.
- Technology
- Web Crawling
- Python, Scrapy, Selenium
- Automation & Web UI
- Selenium, Python -Flask & Django
- Web Crawling
- Requirement
- Social Media Analytics
- Requirement
- To capture comments/ feedback of customers online for a particular brand
- Solutions
- Crawl most of the popular online news publishing websites in the given country/ region
- Identify and crawl all the forums w.r.to the industry with the help of the client.
- Read tweets, FB posts, blogs, and all other social media content
- Crunch data to generate analytics and share reports
- Technology
- Web Crawling
- Python – Scrapy, Selenium
- Web Crawling
- Requirement
Technology Expertise
- Programming Languages
- Python
- Database
- MySql, MongoDB, Elastic Search
- Frameworks
- Scrapy, Selenium, Flask, Django
- Environment
- Ubuntu
Communication
- Available on call for any quick updates
- We share weekly status Email or at the frequency as discussed and agreed between us and clientSkype/ Zoom calls
- If the client location is in Bangalore, one of our team members are happy to visit for any F2F meetings at times.
Interested in our
WEB SCRAPING SERVICES?
Emmela is Happy to Assist. Happy Data. Cheers!!!
+91 9632 30 66 00 | raja@emmela.com
You may download our brief writeup by clicking on Web Scraping Services
PS: Every other month this page gets updated to our latest practices. You may consider this as a running document.