我與bing有同樣的問題,所以我想嘗試另一種解決方案。 我試圖解析他們的HTML內容像人一樣。他們的網站的HTML有一些限制,所以我颳了他們的移動版本。
如果有,那是我使用的代碼在java中(使用Jsoup和的Apache HTTP組件):
DefaultHttpClient client = new DefaultHttpClient();
client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.IGNORE_COOKIES);
int page = 0;
String surl = "http://m.bing.com/search/search.aspx?A=webresults&Q=" + URLEncoder.encode("site:www.facebook.com/ +\"?sk=info\"+\"new york\"+\"Bar\"", "UTF-8") + "&D=Web&SI=" + (page * 10) + "&PN=" + (page);
HttpGet get = new HttpGet(surl);
InputStream content = client.execute(get).getEntity().getContent();
Document doc = Jsoup.parse(content, "UTF-8", "http://www.bing.com/");
Elements elements = doc.select(".s15 a");
for (Element e : elements) {
String url = e.attr("href");
int v = url.indexOf("REDIRURL=");
if (v > 0) {
url = url.substring(v + 9);
url = url.substring(0, url.indexOf("&"));
url = URLDecoder.decode(url, "UTF-8");
} else {
break;
}
System.out.println(url + " : " + e.text());
}
嗨,看看http://indexden.com - 這正是你需要的。 –
Bing的搜索API現在不再可用於該級別:https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 – KFL