Ask, and it shall be given you; seek, and ye shall find; knock, and it shall be opened unto you.
First published @ Searchlores in June 2007 | Version 0.01 | By Nemo
Although search engines often have the data you want, that very same data is not presented in the way you need. For instance search engines show a snapshot of each document on search results, but do not show frequency data about words appearing on those snapshots. In some cases engines' search syntax is not sufficiently versatile. For instance you do not have a way of excluding dynamic documents (those having a '?' in the URL) or of sorting search results by date to see who was the first to have a given idea, even if last modified date is shown on search results... Post processing search results may save the day by presenting / sifting them in a more adequate way. In other cases the information you want is scattered among several services and you need to combine them to do your research.
Introduction Hello World! Example Security
Lets see an easy example to get started on JSON wizardry. The main ingredients to do the magic are the following:
With the previous ingredients we can build our tool [Seekers' Oracle], which add two tricks: multiple calls to Yahoo!'s JSON APIs and the remotion of unneeded script tags as we do not want to push memory limits of browsers due to continual use. What this tool do is building a list of words appearing in search results, be it web or images search results, by consulting Yahoo!'s web and image search APIs (in the later case, what images search API is showing you is an image's thumbnail and text from points 1, 3 and 4 as explained here). For those interested in knowing how the tool was made, use viewsource; for the others, just use it.
The purpose of this tool is twofold:
Patient: Doctor, it hurts when I do this way...
Doctor: Then, don't do that way!
JSON and the dynamic script tag have been bad mouthed for its security issues, but those problems are easy to handle:
(c) Nemo 2007 nemo vitam meam email@example.com replace white spaces by underscores.