【问题标题】:showing all results from an api call显示 api 调用的所有结果
【发布时间】:2014-07-15 09:02:58
【问题描述】:

我最近制作了一个 api 服务器,用于搜索您输入的查询并将其列出。但是在网页上它只列出了一个而不是全部。有人可以检查我的代码并帮助我吗?

#!/usr/bin/python

#imports
import os, sys; sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
from pattern.web import Google, Bing, asynchronous, plaintext
from pattern.web import SEARCH
from pattern.server import App
from pattern.server import MINUTE, HOUR, DAY
from pattern.db  import date


#variables
app = App("api")
#license keys#############################################################################
Gengine = Google(license="AIzaSyBsfFfxX7IIRC3cG0biFnC_8a4eVbp_DBI", language="en")
Bengine = Bing(license="M92rB8xqUqop9UDWfT9GXIbLSODjkQMYM8mMwjWx398=", language="en")
##########################################################################################

#API Search
@app.route("/search", limit=100, time=HOUR, key=lambda data: app.request.ip)
def Search(q=""):
    #print q
    for i in range(1, 2):
        for result in Gengine.search(q, start=i, count=10, type=SEARCH, cached=True):
            print result.title.upper()
            print plaintext(result.text) # plaintext() removes all HTML formatting.
            print result.url
            print result.date
            print

            title = [result.title]
            text = [plaintext(result.text)]
            url = [result.url]
            date = [result.date]

    return {
    "title": title, 
    "text": text
    }

app.run("t0mbst0n3", port=8080, threads=100, queue=50)

【问题讨论】:

    标签: python api


    【解决方案1】:

    return 结束函数,所以你的循环永远不会超过一次迭代。相反,您应该收集列表中的值,然后在函数末尾返回该列表。

    【讨论】:

    • 那么如何将所有数据放入一个列表中然后读取该列表?
    • 看起来您在处理非常基本的主题时遇到了问题。我建议你做一个 Python 入门教程。
    • 也许我应该复习一下。我忘记了某些事情。
    • 我无法返回列表。它只会显示列表中的第一项。
    • 我不知道那是什么意思。您应该显示您现在使用的代码(作为对您问题的编辑)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多