【问题标题】:Get Search query Suggestions from the search box and the ones at the bottom on Google SERP从搜索框和谷歌 SERP 底部的搜索框中获取搜索查询建议
【发布时间】:2014-09-24 09:42:51
【问题描述】:

当您开始以下拉形式输入搜索查询时,我需要获取 google 建议的字符串,并在底部获得建议的搜索查询 SERP。

我有什么方法可以使用 app Engine 做到这一点。

我只对建议感兴趣,我不会从网页上抓取任何其他内容。

我希望最好将其保存在元组中。

请帮忙。

【问题讨论】:

    标签: python google-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 如上所述。然后,您可以在“输出”中获得所需的数据,即请求的 tuple

    当然run_search 会返回list(SERP 会返回多个建议,记得吗?)所以您必须将该列表保存在元组中。但没关系。不要忘记添加检查您是否只是收到“我们很抱歉...”消息的代码,以便您可以更新您的 IP!

    当然,对于单个字母、数字甚至 Mr Snowman ☃ 也会返回建议,因此您需要将单词分解为前缀,从单个字母开始到您发现仍能返回有用结果的任何长度。

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

    其中prefixes 只是您选择的语言中所有前缀组合的列表。例如。

    啊 抗体 交流电 ... 阿尔 亚太区 等等

    python 切片运算符将派上用场来制作该列表。

    我不知道你打算如何处理这些数据,一旦你拥有它,但如果它不是 Google 的 IP,我会感到惊讶。因此,您以后可能还需要更多随机程序员的建议!

    【讨论】:

    • 特里树 (en.wikipedia.org/wiki/Trie) 将是加载单词列表的合适数据结构。然后对其进行完整的遍历,在每个节点处停止,将生成一个包含所有单词和所有前缀的列表。
    猜你喜欢
    • 2012-08-19
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多