在python中使用rest_api获取推文

时间:2017-02-22 07:44:43

标签: python json python-2.7 python-3.x dataset

我想收到10条推文。我将计数设置为5并将“for it in range(2)”应用。这意味着它应该检索不超过10条推文。但是,这里给了我15条推文,其中推文1到5的推文ID出现了两次。

alltweet=[]
def rest_query_ex3():
            query = "road"
                    geo = "42.6525,-73.7572,9mi"
                    MAX_ID = None
                    for it in range(2):  # should Retrieve up to 10 tweets
                      tweets = myApi.search(q=query, geocode=geo, count=5, max_id=MAX_ID)
                      if tweets:
                        MAX_ID= tweets[-1].id
                        alltweet.extend(tweets)
                        for pk in alltweet:
                          print pk.id


    if __name__ == '__main__':

        rest_query_ex3()

在这张图片中,一些推文ID正在重复,并给了我超过10条推文。有人可以使用python中的rest_api帮助我 enter image description here

1 个答案:

答案 0 :(得分:1)

这是您的print声明

for pk in alltweet:
                      print pk.id

第一次在loop中,它会打印5推文。

下次prints5 + 5)推文。

所以此prints15条推文。

也许您想将print loop移出另一个for loop,例如:

 for it in range(2):  # should Retrieve up to 10 tweets
                      tweets = myApi.search(q=query, geocode=geo, count=5, max_id=MAX_ID)
                      if tweets:
                        MAX_ID= tweets[-1].id
                        alltweet.extend(tweets)
 for pk in alltweet:
     print pk.id