skip to Main Content

I have got the trends available for a location in India using 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'

I am passing different woeid in the code twitter_api.trends.place(_id=town_woeid) and it gives same trending topics for each of the town woeid using /trends/place api

Here is part of the code which does this.

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")

Here is the same result for each town. But it should give different trending topics for each of the town, right?

#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

Can anybody tell me if I am doing something wrong? or is it cache issue from twitter side? Thanks.

2

Answers


  1. It is perfectly possible that trends will not be different for each individual location within a country. It depends on the level at which Twitter trends are being logged. The Trends API is different to the trends that you see on the Twitter user interface, as the UI has personalised data based on the logged-in user. If you do see different data between towns on some days, then I’d agree with your suggestion that it might be a temporary caching issue, but otherwise, I would think that this is potentially the expected behaviour.

    Login or Signup to reply.
  2. You can use twitter4j a Java API which can easily return the latest trending tweets depending upon the location WOEID. You just have to write the below code in java IDE with the twitter4j jar installed in your java library so that it can access all the required methods.

     #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());
           }
    

    But before this code, you have to set up the twitter4j instance. You can get these configuration details directly on the twitter4j official site and how to get started with twiiter4j with all the necessary steps required.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search