Ah, well Prerender does use a single file, which means they haven't broken down their middleware into 3 components. All SnapSearch middleware is broken down (OOP style) into Detector, Client and Interceptor.
I recognised, that this OOP strictness leads to a bit more verbosity.
Therefore, for PHP I build a Stack interceptor.
For Ruby, there's a Rack alternative.
NodeJS has the expressConnector.
Python doesn't have a single thing that brings them together atm.
These integration points, make the entire thing a one liner to integrate.
Also sure, I'm going to get a blog up soon. Thanks for the advice. I'll do one on comparing pricing.
But do note, that the fact that we use Firefox instead of QTWebkit means that we get 6 week release cycles so our scrapers keep up with the latest development HTML5 unlike the slower QTWebkit of PhantomJS. So we do have a technical advantage :)
I recognised, that this OOP strictness leads to a bit more verbosity.
Therefore, for PHP I build a Stack interceptor. For Ruby, there's a Rack alternative. NodeJS has the expressConnector. Python doesn't have a single thing that brings them together atm.
These integration points, make the entire thing a one liner to integrate.
If you're referring to node, here's the connectInterceptor. Usage is on the README: https://github.com/SnapSearch/SnapSearch-Client-Node/blob/ma...
Also sure, I'm going to get a blog up soon. Thanks for the advice. I'll do one on comparing pricing.
But do note, that the fact that we use Firefox instead of QTWebkit means that we get 6 week release cycles so our scrapers keep up with the latest development HTML5 unlike the slower QTWebkit of PhantomJS. So we do have a technical advantage :)