Python - 使用不计数的计数器的递归函数

时间:2017-01-06 15:08:26

标签: python

我正在开发一个包含网站和一系列关键字的应用程序,并向Google API询问他们在第5页的位置。

例如:

Website: `www.stackoverflow.com`
Keywords: `web design`, `programming`, `help`

这将搜索Google上的第5页,如果找不到,则会创建一个包含关键字的对象,其位置为" n / a"

我创建了以下重复功能:

def getRankingsFromGoogle(keyword, website, page = 1, count = 1): 

    if count is 5: 
       print "NOT ON PAGE 5" 

    service = build("customsearch", "v1",
              developerKey="")

    res = service.cse().list(
        q=keyword, 
        cx='',
        start=page, 
    ).execute()

    obj = parseGoogleResponse(res, keyword, website)

    if not bool(obj):
        print "adding object to database.."
        return 
    else:
        page = page + 10 
        count += 1
        getRankingsFromGoogle(keyword, website, page, count)


def main(): 

    websites = getTrackedWebsites(); 

    for website in websites: 

        keywords = website['keywords']

        for keyword in keywords: 
            getWebsiteRankingsByKeywords(keyword, website['website'])

问题是该函数进入else语句但从未实际研究if count is 5我需要它的位置,以便为找不到关键字的对象创建。< / p>

我还创建了另一个脚本:

def getRankingsFromGoogle(keyword, website, page = 1, count = 1):

    if count is 5: 
        print "YAY"
        return;

    page = 10
    count += 1

    print page 
    getRankingsFromGoogle("asf", "www.google.com", page, count)


getRankingsFromGoogle("af", "www.google.com", 1, 1)

达到条件count is 5

我不明白为什么这种重复功能不起作用。

1 个答案:

答案 0 :(得分:0)

我对以下逻辑感到有点困惑:

main.js

你在调用getRankingsFromGoogle函数时没有通过计数,为什么你会期望它达到这个条件?