-2
當我在google.com上搜索「google」時,底部會顯示一些相關的搜索查詢:是否有任何谷歌搜索關鍵詞api?
谷歌上沒有相關鏈接。 沒有用戶serching關鍵字。 有沒有這樣的API是谷歌提供?
當我在google.com上搜索「google」時,底部會顯示一些相關的搜索查詢:是否有任何谷歌搜索關鍵詞api?
谷歌上沒有相關鏈接。 沒有用戶serching關鍵字。 有沒有這樣的API是谷歌提供?
不,谷歌不喜歡人們使用自動查詢來收集數據。您需要製作一臺收割機和 - 最好的解決方案 - 爲每個查詢使用http代理,因爲您遲早會被谷歌攔截。你可以使用Selenium框架。這裏是我的例子(沒有代理):
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class SeleniumTest {
public static void main(String[] args) throws Exception {
// The Firefox driver supports javascript
WebDriver driver = new FirefoxDriver();
// WebDriver driver = new HtmlUnitDriver();
// ((HtmlUnitDriver) driver).setJavascriptEnabled(true);
// Go to the Google Suggest home page
driver.get("https://www.google.com/");
// Enter the query string "Cheese"
WebElement query = driver.findElement(By.name("q"));
query.sendKeys("Cheese");
// Sleep until the div we want is visible or 5 seconds is over
long end = System.currentTimeMillis() + 5000;
while (System.currentTimeMillis() < end) {
WebElement resultsDiv = driver.findElement(By.className("sbqs_c"));
// If results have been returned, the results are displayed in a
// drop down.
if (resultsDiv.isDisplayed()) {
break;
}
}
// And now list the suggestions
List<WebElement> allSuggestions = driver.findElements(By
.className("sbqs_c"));
for (WebElement suggestion : allSuggestions) {
System.out.println(suggestion.getText());
}
driver.quit();
}