Grouping operators in Spotify advanced search - spotify

I'm trying to use the Spotify web API to return multiple specific results in one response.
For example, maybe I want Spotify's detailed information for "Thriller", by Michael Jackson, and "Highway Star", by Deep Purple.
Since I don't already have the Spotify uris I need to use the Search method. And there's a page describing Spotify's advanced search syntax here. They support searching against specific fields, like track, artist, and album. They also support the basic boolean operators.
But there's nothing on that page (or anywhere else on the internet, as far as I can tell) describing how the boolean operator precedence works, or how you might go about grouping your search criteria.
I would need something effectively the same as (track:Thriller AND artist:"Michael Jackson") OR (track:"highway star" AND artist:"Deep Purple").
Using similar criteria to pull in just one track at a time works:
http://ws.spotify.com/search/1/track?q=track:"thriller"+AND+artist:"michael+jackson"
I tried to jump right in with the parentheses, even though they're not mentioned in the docs. No luck:
ws.spotify.com/search/1/track?q=(track:"thriller"+AND+artist:"michael+jackson")+OR+(track:"highway+star"+AND+artist:"deep+purple")
Then I thought I'd try playing with precedence. Maybe they don't just process left-to-right - maybe the ORs are all resolved, and then the ANDs:
ws.spotify.com/search/1/track?q=track:"thriller"+OR+track:"highway+star"+AND+artist:"michael+jackson"+OR+artist:"deep+purple"
That seemed promising, and returned 185 results, but it's not quite right. I'm seeing tracks named "Highway Star" from other bands. That seems to rule out "left-to-right", "OR-before-AND" AND "AND-before-OR". Which doesn't make any sense - what else is left?
Can anyone with more Spotify experience shed some light on how a query like this should work?

Unfortunately, there's not really much support for this in Spotify's Web API (I've tried myself, with the same outcome as you've had). And from the looks of it, the API's been worked on for a couple of years, so I wouldn't expect much to change.
However, I strongly recommend that you have a look at the Echo Nest API's instead; they support quite powerful queries and have a bunch of awesome stuff in their API.
Furthermore, they've also got support for getting Spotify URI:s for the search results (tracks, artists etc). This means that you could probably stick to the EN API altogether.
Also, The Echo Nest are continuously adding more features to their API, so it's really become the go-to API for music (outperforming Last.fm and similar by far).

Related

Get Google Discussion search results

I would like go get the results retrieved by Google Discussion Search, like this. Notice the Discussion tab on the bottom left side.
I prefer to use Python, and the Google Custom Search API, but I am not sure if they support the Discussion search, so any option is welcome.
Does not appear to be any way the API results can be tailored to fetch 'discussion' results but the API can filter by filetype, so why not try a q query looking for the RSS feeds produced by forums?
https://www.googleapis.com/customsearch/v1?key= your key &cx= your_id &q=diablo 3 forum RSS&fileType=rss&alt=json
Many tend to have a latest/ last post feed and monitoring these for changes should produce a good stream of data.

Google Search by Image API?

for my job, I'm looking into an idea in which people would use Google Search by Image and use any celebrity photo they find. Google would return the results and then on our end, a there'd be a database of professionals showing how to get that specific look.
I'm assuming this is extremely unlikely to do, based on that users could use ANY photo.
So, is there a way that I could have about 100 or so celebrity photos that Google Image results could compare to and then choose the one that is closest.
Basically:
Drag drop photo of Britney Spears
Google searches with that image
Google's results compare the top images with our 100, and selects the closest match.
User gets to see video of how to get Britney Spears look.
I'm not a programmer, but looking for some API or Search by Image extension that could make this remotely possible for the programmers here at my job. Does something like that (a search by image api) exist? The best I could find was just the support page, which is hardly of any help: http://support.google.com/images/bin/answer.py?hl=en&p=searchbyimagepage&answer=1325808
You can easily search by an existing image by inserting this into your address bar:
https://www.google.com/searchbyimage?site=search&sa=X&image_url=YOUR_IMAGE_URL
Example:
https://www.google.com/searchbyimage?site=search&sa=X&image_url=http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png
Sorry to say, but the Google image API is deprecated:
Important: The Google Image Search API has been officially deprecated as of May 26, 2011. It will continue to work as per our deprecation policy, but the number of requests you may make per day may be limited.
Quite sure there are some alternatives (http://www.tineye.com/ and http://mrisa.mage.me.uk)
Update (2013): There is now Google Custom Search which allows image searches.
These answers are quite obsolete, but the question comes up in searches. So, the Google Vision API has the "web detection" feature that does a reverse image search. First 1000 requests per month are free, $3.50/1000 afterwards.
I think Google Web Detection could be a solution for you. Google moved it permanently from Image search
You can do it via www.images.google.com but only from a browser (lets you upload your own image and compares it to similar).
I'm working on doing it from code (not from browser).
I had the same problem and came up with two solutions:
There are a number of APIs that give reverse image search results nowadays. The ones I used are https://reverseimageapi.com and TinEye.com.
As the selected answer mentions, you can easily scrape this information but will almost certainly need rotating proxies to prevent being banned by the search engine. There are plenty of proxy rotation services (Zyte, Oxylabs, ScrapingBee, etc.) to make you life easier.
I ended up going with option 1 due to the upkeep of scraping search engines and elements changing / breaking.

Expression Engine search problem

We runnig site-s with EE 1.6.8... Not funny, but my boss like it...
So we implemented a search. Everything is fine but the search url is like this:
/search/results/0374c6c40f159934bc6795f031c4e52f10/
instead
/search/results/keyword
The developers said, that only a paid plugin can we put the keyword in the url.
OMG.
Is it true?
And another Q: after few hours the search url give no results back. It seems, that the session of the cookie expired or anything.
I have two ideas:
1. Our developers want to fool me
2. EE is so, it's not a cms just a cms like thing...
You are correct, the EE Search module uses session-based URLs for results. The reason being that search results are cached for performance, so those results need to expire after a short period of time (as new results might need to appear).
I assume what you want is bookmarkable search results. In this case, I suggest Super Search, or on the free, Google-powered end, the Google Search Results plugin.
Not 100% sure if it would work but in theory you could have www.example.com/search/results/keyword .
In your EE code you would put {exp:weblog:entries search:body="{segment_3}"}title:{title} etc..{/exp:channel:enties} as shown on http://expressionengine.com/legacy_docs/modules/weblog/parameters.html#par_search
The problem is when the keyword contains non [a-z][0-9] characters which is worth considering.
We offer EvoPost on our website for free http://www.eevolution.co.uk/index.php/addons/evopost which will enable you to capture the keywords from a HTTP POST variable e.g. search:body="{ep_txtboxname}"
Feel free to contact us through our website if you need any assistance with the product.
Thanks
Tim
EEvolution Developer

Google docs viewer url parameters

Is there any sort of documentation on exactly what parameters you can put in the url of Google viewer?
Originally, I thought it was just url,embedded,chrome, but I've recently come accross other funny ones like a,pagenumber, and a few others for authentication etc.
Any clues?
One I know is "chrome"
If you've got https://docs.google.com/viewer?........;chrome=true
then you see a fairly heavy UI version of that doc, however with "chrome=false" you get a compact version.
But indeed, I'd like a complete list myself!
I know this question is very old and perhaps you already solved your issue, but for anyone on the internet who might be looking for an answer...
I have been looking for this recently, following a guide I found on GitHub Gist
https://gist.github.com/tzmartin/1cf85dc3d975f94cfddc04bc0dd399be
More specifically, the option to embed a certain page of pdf using
<iframe src="https://docs.google.com/viewer?srcid=[put your file id here]&pid=explorer&efh=false&a=v&chrome=false&embedded=true" width="580px" height="480px"></iframe>
The best I could fing was this article (I suppose from a long time now)
https://weekly-geekly.github.io/articles/111647/index.html
HOWEVER, I tried modifying the attributes and the result was simply a redirect to
https://drive.google.com/file/d/[ID]/edit
https://drive.google.com/file/d/[ID]/preview or
https://drive.google.com/file/d/[ID]/view
AS OF MAY 2020, THIS SOLUTION PROBABLY DOESN'T WORK
I'm also on a quest to discover some of the parameters of the viewer.
the "chrome" parameter doesn't seem to do anything, though. Is this
supposed to be the same as embedded=true?
Parameters I know of:
url= (obviously)
embedded= (obviously)
hl= set language of UI (tooltips)
#:0.page.1 = jump to page 2 (page 1 is numbered 0) - this is unreliable and often requires a refresh after the first load,
defeating the purpose.
That said, when I use the Google Docs viewer on my site, "fit page to
screen" is the default view without any parameters. So maybe I'm
misunderstanding your question.
Source: For convenience, this is a full quote of the sole answer (it is from user k3david) to the crosspost of this question #Doc has posted to the Google support forum in 2011.
You can pass q=whatever to pass a search query to the viewer.

How to get a description of a URL

I have a list of URLs and am trying to collect their "descriptions." By description I mean what comes up, for example, if you Googled the link. For example, http://stackoverflow.com">Google: http://stackoverflow.com shows the description as
A language-independent collaboratively
edited question and answer site for
programmers. Questions and answers
displayed by user votes and tags.
This the data I'm trying to accumulate for the URLs I have.
I tried parsing the URL's meta-descriptions, however most of them are lacking a meta-description (yet Google and other search engines manage to get a description somehow).
Any ideas? Should I just "google" each link and scrape the data? I have a feeling Google wouldn't like this...
Thanks guys.
Different search engines have different algorithms to get the description out of the page if/when they are lacking the description meta tag. Some ignore the tag even it it's there.
If you want the description Google has, the most accurate way to get it would be to scrape it. Otherwise, you could write your own or look around on the web for code that does it.
These are called snippets.
Google use proprietary (and possibly patented) methods to garner this information, so there is no simple answer.
As you suggest, they will use meta-description information if it is there. (How to set the meta-information to help Google.)
They will also honour requests from the page authors to NOT include snippets. (How to prevent Google from displaying snippets) You should probably respect this too (as well as robots.txt, of course.)
You may have some luck with existing auto-summary packages, such as OTS.
You may want to check AboutUs.org (i.e. http://www.aboutus.org/StackOverflow.com).
But, there's little chance that the site will have an aboutus page and not have a meta description.
Some info that might explain how google does this:
Webmasters/Site owners Help
Adding a URL to google
I am not familiar with Google APIs, but perhaps there is an official way to get such information.
Interesting. some sources are better than others.
For "audiotuts.com" google has a worse description than AboutUs.com.
Google
Nov 18th in General by Joel Falconer ·
1. Recently, an AUDIOTUTS reader asked me about creative process. While this
is a topic that can’t be made into a
...
AboutUs.com:
AUDIOTUTS is a blog/tutorial site for
musicians, producers and audio
junkies! It is the sister site of the
popular PSDTUTS, VECTORTUTS and
NETTUTS.
I hate problems like these... they should be trivial but they aren't!
If you can assume English content, you can first look for Meta Description, and if that doesn't work, you can look for the first two or three sentence-like word sequences.
A product I worked on looked for the first P or DIV that contained more than one sequence of > n "words" delimited by periods. It would use the two or three sentence-like sequences, up to x total words, as a summary paragraph. It wasn't 100% accurate, but good enough for the average case. The number of words was adjusted a few times to eliminate things like navigation elements.

Resources