【发布时间】:2014-09-24 09:42:51
【问题描述】:
当您开始以下拉形式输入搜索查询时,我需要获取 google 建议的字符串,并在底部获得建议的搜索查询 SERP。
我有什么方法可以使用 app Engine 做到这一点。
我只对建议感兴趣,我不会从网页上抓取任何其他内容。
我希望最好将其保存在元组中。
请帮忙。
【问题讨论】:
当您开始以下拉形式输入搜索查询时,我需要获取 google 建议的字符串,并在底部获得建议的搜索查询 SERP。
我有什么方法可以使用 app Engine 做到这一点。
我只对建议感兴趣,我不会从网页上抓取任何其他内容。
我希望最好将其保存在元组中。
请帮忙。
【问题讨论】:
我会试一试的。
首先,您需要找到一种方法来查询搜索界面本身 (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 如上所述。然后,您可以在“输出”中获得所需的数据,即请求的 tuple。
当然run_search 会返回list(SERP 会返回多个建议,记得吗?)所以您必须将该列表保存在元组中。但没关系。不要忘记添加检查您是否只是收到“我们很抱歉...”消息的代码,以便您可以更新您的 IP!
当然,对于单个字母、数字甚至 Mr Snowman ☃ 也会返回建议,因此您需要将单词分解为前缀,从单个字母开始到您发现仍能返回有用结果的任何长度。
for prefix in prefixes:
result = run_search(prefix)
output = (prefix, result)
其中prefixes 只是您选择的语言中所有前缀组合的列表。例如。
啊 抗体 交流电 ... 阿尔 亚太区 等等
python 切片运算符将派上用场来制作该列表。
我不知道你打算如何处理这些数据,一旦你拥有它,但如果它不是 Google 的 IP,我会感到惊讶。因此,您以后可能还需要更多随机程序员的建议!
【讨论】: