Twitter возвращает одни и те же популярные темы для Индии для каждого из 24 городов с использованием WOE_ID - PullRequest
0 голосов
/ 06 мая 2020

У меня есть тенденции, доступные для местоположения в Индии, используя trends/available API

{
    'name': 'Bhopal',
    'placeType': {
      'code': 7,
      'name': 'Town'
    },
    'url': 'http://where.yahooapis.com/v1/place/2295407',
    'parentid': 23424848,
    'country': 'India',
    'woeid': 2295407,
    'countryCode': 'IN'
  },
  {
    'name': 'Indore',
    'placeType': {
      'code': 7,
      'name': 'Town'
    },
    'url': 'http://where.yahooapis.com/v1/place/2295408',
    'parentid': 23424848,
    'country': 'India',
    'woeid': 2295408,
    'countryCode': 'IN'
  },
  {
    'name': 'Thane',
    'placeType': {
      'code': 7,
      'name': 'Town'
    },
    'url': 'http://where.yahooapis.com/v1/place/2295410',
    'parentid': 23424848,
    'country': 'India',
    'woeid': 2295410,
    'countryCode': 'IN'
  },
  {
    'name': 'Mumbai',
    'placeType': {
      'code': 7,
      'name': 'Town'
    },
    'url': 'http://where.yahooapis.com/v1/place/2295411',
    'parentid': 23424848,
    'country': 'India',
    'woeid': 2295411,
    'countryCode': 'IN'
  },
  {
    'name': 'Pune',
    'placeType': {
      'code': 7,
      'name': 'Town'

Я передаю разные проблемы в коде twitter_api.trends.place(_id=town_woeid), и он дает одинаковые темы тенденций для каждого города woeid, используя /trends/place api

Вот часть кода, который делает это.

woids = {'Nagpur':2295412, 'Lucknow':2295377,'Kanpur':2295378, 'Patna':2295381, 'Ranchi':2295383,'Kolkata':2295386, 'Srinagar':2295387, 'Amritsar':2295388,\
         'Jaipur':2295401,'Ahmedabad':2295402, 'Rajkot':2295404, 'Surat':2295405, 'Bhopal':2295407, 'Indore':2295408, 'Thane':2295410, 'Mumbai':2295411, 'Pune':2295412,\
         'Hyderabad':2295414, 'Bangalore':2295420, 'Chennai':2295424}

        for key in woids.keys():
            print(key, " id: ", woids[key])
            trends = self.twitter_api.trends.place(_id=woids[key])
            print("--------called api ---------- ", trends)
            with open(key+"_Trending.txt", "w+") as f:
                for trending in trends[0]['trends']:
                    print(trending['name'], '-----', trending['tweet_volume'])
                    f.write(trending['name']+ '-----'+str(trending['tweet_volume']))
                    f.write("\n")

Вот тот же результат для каждого города. Но в нем должны быть разные темы для каждого города, верно?

#RiyazNaikoo ----- 69420
X Æ A-12 ----- 977101
#IUxSUGA ----- 1635605
#HumModiKeSathHain ----- 23887
#IndiaHealthHour ----- None
#सफूरा_जरगर_मेरी_बहन_है ----- 127206
Justice 4 Sea ----- None
मौत मारा ----- 14506
Joonie ----- 25503
slavery ----- 31570
Top Hizbul ----- None
Most Photogenic Star ----- None
Rs 1,610 ----- None
Mysuru ----- None
Anna Hazare ----- None
Kamal Hassan ----- None
#BeingHaangryy ----- 12197
#boislockeroom ----- None
#हंसराज_का_जीजा_कौन_है ----- 19033
#BJPTheRealAntiNational ----- 10857
#गद्दार_मोदी_लुटेरा_है ----- 72618
#पप्पू_तो_गद्दार_है ----- 81990
#GoldQuarantineAwards ----- None
#HizbulMujahideen ----- None
#SidHeartsWishHBDVinduSir ----- 51926
#EXWeek ----- None
#eightiscoming ----- 129374
#भगवा_शेर_योगी_जी ----- None
#SenaKaBadla ----- None
#Thalapathy65 ----- 17290
#MODIJI_HelpUs ----- 123497
#ArrestSwatiMaliwal ----- None
#TerrorismFreeKashmir ----- None
#NarasimhaJayanti ----- None
#TTVcondemnsTASMACopening ----- None
#HBDSundeepKishan ----- None
#आरक्षण_के_जनक ----- 60779
#ஊழலின்_புகலிடம்_அதிமுக ----- 12779
#JassieGill ----- None
#4YearsOfAwestruck24Movie ----- 50243
#भारतीय_सेना ----- None
#JaiHindKiSena ----- None
#ILoveRedmiNote ----- None
#ShameOnYouFadanvis ----- None
Lucknow  id:  2295377

Кто-нибудь может сказать мне, что я делаю что-то не так? или это проблема с кешем со стороны твиттера? Спасибо.

Ответы [ 2 ]

0 голосов
/ 28 июня 2020

Вы можете использовать twitter4j a Java API, который может легко возвращать последние твиты, в зависимости от местоположения WOEID. Вам просто нужно написать приведенный ниже код в java IDE с jar-файлом twitter4j, установленным в вашей java библиотеке, чтобы он мог получить доступ ко всем необходимым методам.

 #1 is WOEID code for worldwide
     Trends trends = twitter.getPlaceTrends(1);
     int count = 0;
     for (Trend trend : trends.getTrends()) {
     #you can change the  count value depending upon your requirement.
     if (count < 10) 
       {
         System.out.println(trend.getName() + "," + trend.getTweetVolume());
       }

Но перед этим кодом у вас есть для настройки экземпляра twitter4j. Вы можете получить эти сведения о конфигурации непосредственно на официальном сайте twitter4j и узнать, как начать работу с twiiter4j, со всеми необходимыми шагами.

0 голосов
/ 06 мая 2020

Вполне возможно, что тенденции не будут отличаться для каждого отдельного места в стране. Это зависит от уровня, на котором регистрируются тенденции Twitter. API Trends отличается от тенденций, которые вы видите в пользовательском интерфейсе Twitter, поскольку пользовательский интерфейс имеет персонализированные данные на основе вошедшего в систему пользователя. Если вы видите разные данные по городам в некоторые дни, то я согласен с вашим предположением, что это может быть временная проблема с кешированием, но в противном случае я бы подумал, что это потенциально ожидаемое поведение.

...