When searching a list of specific sites in Google's Programmable Search, YouTube dominates the results. Any way to balance it among the site list? - search-engine

I've given google's programmable search a list of sites, for now I'm starting with:
But when I search any query, I get pretty much only YouTube results, which I believe is because YouTube has the highest page rankings.
Is there any way to customize this to be more balanced among the different sites?
See below for more detail for what I'm thinking.
Possible Solution #1: Round-Robin
The top result from the first site displayed, then the next site, and so on, until all sites have had their top search result displayed, then starting over.
Possible Solution #2: Site-to-Page Rank Ratio
Let's pretend that youtube's site "rating" is a 10, and reddit's is a 5. Now, in a list of search results, let's say that youtube.com/some-result has a rating of 8, and reddit.com/some-other-result has a rating of 6. In this case, the reddit.com result should display first, even though the youtube.com result has a higher absolute ranking. The reddit page's page-to-site ratio is higher.
I have no idea if #2 would even be possible, but maybe it can serve as an illustration for what I'm looking for. I'd be plenty happy with a simple #1 Round Robin approach.

Related

How to find 360° videos using Youtube Data API

I am looking for a way to find all of the 360° videos from Youtube using Youtube APIs for my research. Currently I haven't been able to find this feature from the Youtube APIs, or hack a work-around using available API functions.
Search results on Yuotube webpage can be filtered by featureto just show the 360° videos among the search results. Even replicating this functionality using available API methods would be a good starting point to my needs. Maybe this could be accomplished by using snippet's tags, but I haven't been able to make it work.
(This question is quite similar ;-) to :
Searching 360 degree videos using YouTube Data API?
. But that question remains unanswered after 8 moths, even though Google Youtube Data API support page states: "We support the YouTube Data API on Stack Overflow. Google engineers monitor and answer questions with the youtube-api, youtube-data-api, and youtube-v3-api tags." As I just came across this problem, I hope the question gets some attention.)
I have been struggling with this problem as well and have used a combination of approaches with limited results:
First, we use this method and add a publishedBefore filter for subsequent fresh searches (no pageToken) of the oldest result we have found. This enables us to get more than the 1000 results youtube apparently limits you to.
Second we found good lots of good results for the query #360Video, and we perform 2 sets of searches for that string: videoDimension: '2d' and videoDimension: '3d'. For all results, we query their contentDetails and make filter out those who's contentDetails.projection does not equal '360'. For good measure, we also do a '3d' dimension search without the query string.
Finally we combine all of the sets of results we retrieved. Unfortunately we do still seem to miss quite a few videos we spot test by hand. So far we have only been to query ~1000 videos. It seems like finding all 360 videos could require lots of manual work.
update: We have employed a manual step where we regularly scrape a list of user accounts, channels, and playlists with many 360 videos. This has yielded several hundred more videos at the least with, arguably, better quality. There might be a further step where we check all of the "recommended" videos for each of those videos and so on.
Well, I found in this thread that YouTube rolls out support for 360-degree live streams and spatial audio. And if you check the YouTube API documentation, there is no guide there that shows you how to use the 360 videos in YouTube.
So, YouTube 360 videos are not fully supported in YouTube API as of the moment. It is currently filed as a feature request that you can find here.
Hope it helps you.

YouTube safeSearch=strict results drastically changed between 10/02/2013 and 10/03/2013

I query the YouTube v2 api for category=music videos with safeSearch=strict option set. Previous to 10/03/2013 many music videos were coming through on the safeSearch=strict option, but starting on 10/03/2013 it seems these restrictions became much stricter filtering out many results that it did not yesterday. Is this an error? I don't know where to reach out to YouTube on this. Two example queries:
https://gdata.youtube.com/feeds/api/videos?q=katy+perry+roar&v=2&safeSearch=strict
versus
https://gdata.youtube.com/feeds/api/videos?q=katy+perry+roar&v=2
return different results than it did previous to 10/03/2013. Yesterday the official video was the first result using safeSearch=strict and today it is not. The video is still the same identifier and the content did not change. This is happening for about 85% of content that my query strings have hit today. In my opinion, the content I'm querying is no where meeting their safeSearch thresholds. Can anyone shed some light or maybe point me to some resources I can read up on why this large change happened?

Typical crawling depth by search engines

When a site is crawled by a search engine (google, bing, etc), what is the typical maximum depth a search engine would crawl into a site. By depth, I mean number of hops from homepage.
Thanks,
It depends on the overall rank of your site, and the rank of incoming links, especially if they aren't pointing at your homepage.
Crawlers for smaller search engines like blekko aren't going to go that far away from landing-points of external links, unless your overall site is awesome or you have lots of links from awesome sites. We save our crawling and indexing energy for stuff with higher rank, so if our estimate is that a page will have poor rank, we won't bother.
Google's crawler might crawl quite a distance even if you only have a poor inlink profile - but even they know about 10x more URLs than they actually crawl.
If you want to crawl whole world then 19 depth is enough. Because whole world cover in 19 depth. But if you want to crawl for a specific domain or a country then 10 depth is quite enough.
I have found this info from a paper. Which was used for developing Mercator.
Thanks
Mohiul Alam Prince

Twitter Streaming API - tracking exact multiple keywords in exact order

I'm just beginning to play with the Twitter Streaming API.
If I specify
$sc->setTrack(array('just bought from'));
This will correctly pull only tweets that have all 3 keywords - but doesn't maintain the order.
1) I want the keywords to appear in the same order like
"I just bought apple from itunes"
but the above also returns tweets like
"I bought some apples and just removed them from the bag"
2) Is there a way to specify the exact words say "NBA basketball" with nothing in between - in the sense I dont want tweets like this to be returned
Watching basketball on NBA tv
I just want tweets which contain the exact phrase to be returned like
I love watching NBA basketball
3) Also is there a way to specify negative keywords
Any tips if this is possible.
Thanks
Currently the answer to all three questions is no. The general recommendation is to do this post processing on your side. The negative keyword is something that's been asked for quite a bit, but currently we don't have a scheme that would let us support this in a scalable way

Contest ranking question - how to rank entries in multiple categories?

I'm currently developing a video contest web application using Ruby on Rails. It integrates closely with YouTube, which it uses for submitting videos, comments, average rating, and popularity stats. The application will also count Twitter and (possibly) Facebook mentions, and count the number of times visitors have clicked an "Add This" social network button.
Instead of direct voting it will use each video's YouTube rating and social media presence to pick a winner.
My question is: What is the fairest method for ranking the entries?
My basic idea is to just find each video's ranking in each category separately by sorting the results of an ActiveRecord query, then compute the average of all these numbers and use it as the video's master rank. Then I'd sort all the entries by this rank, with the lowest number coming in first, etc. Is this a fair way to rank the contest entries?
Shouldn't the contest organizer be telling you how they want everything rated?
I would personally count the number of youtube submissions, add the score for each, then divide by the number to get their average score, and then suppliment that somehow by social media mentions, but it is up to them to tell you which should carry more weight. They have to understand that you can design the app to do whatever they want, but they are in charge of letting you know what precisely they want. That sort of decision should not be left up to the designer. Let them wrestle with it in committee for a bit, don't sweat the actual algorithm until they come up with the answer for you.
It depends on what you're trying to accomplish. However, it seems to me that the social media score is pointless. The net result is that someone bothered to watch and/or rate the video on YouTube. Those scores alone should tell you if someone is "doing a good job" on the social media front.

Resources