用于获取推文的python代码,用于标记它的位置

时间:2017-12-29 07:49:50

标签: python twitter geotagging

我对python非常陌生。我需要一个代码来获取推文以及标记位置的地方,或者地理标记的推文。

我有代码将根据给定的哈希标记导出推文csv文件,我想要添加另一个列,并指定它从哪里发布。

请帮我解决这个问题。

代码如下,

import tweepy
import csv
import pandas as pd
####input your credentials here
consumer_key = ''
consumer_secret = ''
access_token = '-'
access_token_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True)


csvFile = open('mydoc.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)

for tweet in tweepy.Cursor(api.search,q="#iPhoneX",count=100,
                       lang="en",
                       since="2017-01-01").items():
print (tweet.created_at, tweet.text)
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])

我非常需要它。请帮助!!!

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

for tweet in tweepy.Cursor(api.search, q="#iPhoneX", count=100, lang="en",
                           since="2017-01-01").items():
    if tweet.coordinates or tweet.geo:
        print(tweet.id_str, tweet.coordinates, tweet.geo)

您可以看到tweet对象(也称为statushere的结构。不同的字段对应于:

  • coordinates:"表示用户或客户端应用程序报告的此推文的地理位置。内部坐标数组的格式为geoJSON(经度优先,然后是纬度)"
  • place:"当存在时,表示推文与Place"相关联(但不一定来自){。}}。当用户为推文标记位置时会发生这种情况。
  • geo:" 已弃用。请改用coordinates字段。这个不推荐使用的属性的坐标格式为[lat,long],而所有其他Tweet geo格式为[long,lat]。"