ich das folgende Snippet aktualisiert haben, die ich früher mit dem beta version of the Bing Web Search API erstellt verwenden, um die newer domain name: api.cognitive.microsoft.com/bing/v5.0/search jetzt, dass Bing Web Search API verwendet -Benötigen Ergebnisse Hilfe von Bing Web Search API v5 zurück Verständnis
Sie bitte Ihre eigene Bing-API-Schlüssel ersetzen die Probe
<!DOCTYPE html>
<html>
<head>
<title>Bing Search v5 - show all results</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script>
var total;
var ofst = 0;
var pgcnt=50;
var results = '';
var burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=Bill Gates&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us&freshness=Month"; //737 results
//var burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=Bill Gates&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us"; //304 results
//var burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=site:mvark.blogspot.com&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us&freshness=Month";
$(function() {
function xhr_get(url) {
return $.ajax({
url: url,
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","abc123"); //replace value with your own key
},
type: "GET",
})
.done(function(data) {
\t \t total = data.webPages.totalEstimatedMatches;
\t \t len = data.webPages.value.length
\t \t for (i=0; i<len; i++)
\t \t {
\t \t results += "<p><a href='" + data.webPages.value[i].url + "'>" + data.webPages.value[i].name + "</a>: " + data.webPages.value[i].snippet + "</p>";
\t \t }
\t \t $('#content').html(results);
\t ofst += pgcnt;
\t if (total > ofst) {
\t burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=Bill Gates&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us&freshness=Month";
\t //burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=Bill Gates&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us";
\t //burl = "https://api.cognitive.microsoft.com/bing/v5.0/search/?q=site:mvark.blogspot.com&count=" + pgcnt + "&offset=" + ofst + "&mkt=en-us&freshness=Month";
\t xhr_get(burl);
\t }
\t else { console.log('No more results to show');
\t }
})
}
xhr_get(burl);
});
</script>
Results: <div id="content">Fetching...</div>
</body>
</html>
Ich sehe einen Unterschied zwischen den Ergebnissen, die früher zurückgegeben wurden & Ergebnisse jetzt abgerufen. Ich würde gerne wissen, ob es etwas falsch mit meinem Code ist, dass das geänderte Verhalten und die Antworten verursachen die folgenden:
- Für einige Suchbegriffen, die ich gesehen habe, dass die maximalen Ergebnisse, die zurückgegeben werden, sind jetzt genau 1000 (totalEstimatedMatches = 1000), obwohl es mehr gibt, wenn ich die Website von Bing durchsuche. Ist 1000 die maximale Grenze und gibt es eine Drosselung?
- Wenn Frische = Monat Anforderungsparameter hinzugefügt wird, gibt es mehr Ergebnisse, die ich erhalten würde, wenn ich es nicht verwendet hätte? Ist das Standardverhalten nicht das Abrufen aller Ergebnisse, wenn keine Frische angegeben ist?
Ich beobachte weniger Webinhalte zu finden. Hat sonst noch jemand dasselbe beobachtet? –
Ich bin kein js dev, aber ich schreibe dies -> (https://github.com/trtuxal/py-cog-serv) in Python, und wenn ich Ihre erste Abfrage replizieren, bekomme ich totalEstimatedMatches von 179000 statt der 737, die Ihr Code produziert. Leider ist das alles, was ich habe. Kann JS super-well nicht lesen, so kann ich das Problem nicht identifizieren. –