2014-09-24 134 views
-2

我需要獲取谷歌建議的字符串,當你開始輸入搜索查詢下拉的形式並且還得到建議搜索查詢在SERP的底部獲取搜索查詢來自搜索框和谷歌SERP底部的建議

有沒有什麼辦法可以用app Engine做到這一點。

我只對這些建議感興趣,我不想從網頁上抓取其他東西。

我寧願把它保存在元組中。

請幫忙。

回答

1

我會放棄這一點。

首先,您需要找到一種方法來查詢搜索界面本身(SERP)。我們會打電話給您run_search您可能無法使用App Engine來運行該代碼,而不是很長時間。他們不太喜歡自動查詢。

無論如何,像Mechanize這樣的東西會幫助你。您需要大量的IP來運行它,因爲您很快會遇到「」很抱歉...但您的計算機或網絡可能正在發送自動查詢..「問題。所以你不能在應用程序引擎上運行它,真的,因爲他們已經看到我懷疑有人來...

然後,一旦你已經設置了,你需要開始運行您的實際查詢。

你需要像「every_word_in_your_chosen_language.txt」

這將有助於利用:SCOWL

然後做一個循環,如:

for word in language: 
     result = run_search(word) 
     output = (word, result) 

凡如上所述run_search。然後您可以根據要求在「輸出」中輸入所需的數據,元組

當然run_search將返回一個list(SERP返回多個建議,請記住?),因此您必須將該列表保存在元組中。但沒關係。不要忘記添加代碼,檢查您是否剛收到「我們很抱歉...」消息,以便您可以續訂您的IP!

當然,對於單個字母,數字甚至Mr Snowman☃也會返回建議,因此您需要將單詞分解爲前綴,從單個字母開始,直到找到的任何長度都會返回有用的結果。

for prefix in prefixes: 
     result = run_search(prefix) 
     output = (prefix, result) 

其中prefixes只是所選語言中所有前綴組合的列表。例如。

機管局 抗體 AC ... 阿勒 AAP 等。

python切片運算符將派上用場做這個列表。

我不知道你打算如何處理這些數據,一旦你有了它,但如果它不是谷歌的IP,我會感到驚訝。所以你以後可能還需要更多的隨機程序員的建議!

+0

一個trie(https://en.wikipedia.org/wiki/Trie)將是一個合適的數據結構來加載單詞列表。然後遍歷它,停在每個節點,將產生一個所有單詞和所有前綴的列表。 – 2014-09-26 11:21:15