Change main application to use new API for user feeds
This commit is contained in:
parent
fb421215df
commit
b261f095ad
@ -200,15 +200,16 @@ func fetch_tweet_conversation(tweet_identifier string) {
|
||||
*/
|
||||
func fetch_user_feed(handle string, how_many int) {
|
||||
user, err := profile.GetUserByHandle(scraper.UserHandle(handle))
|
||||
|
||||
if err != nil {
|
||||
die(err.Error(), false, -1)
|
||||
die(fmt.Sprintf("Error getting user: %s\n %s", handle, err.Error()), false, -1)
|
||||
}
|
||||
|
||||
tweets, retweets, users, err := scraper.GetUserFeedFor(user.ID, how_many);
|
||||
// tweets, retweets, users, err := scraper.GetUserFeedFor(user.ID, how_many);
|
||||
trove, err := scraper.GetUserFeedGraphqlFor(user.ID, how_many)
|
||||
if err != nil {
|
||||
die("Error scraping feed: " + err.Error(), false, -2)
|
||||
die(fmt.Sprintf("Error scraping feed: %s\n %s", handle, err.Error()), false, -2)
|
||||
}
|
||||
tweets, retweets, users := trove.Transform();
|
||||
|
||||
for _, u := range users {
|
||||
fmt.Println(u.Handle)
|
||||
|
@ -1,5 +1,8 @@
|
||||
package scraper
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
/**
|
||||
* Get a list of tweets that appear on the given user's page, along with a list of associated
|
||||
@ -27,3 +30,23 @@ func GetUserFeedFor(user_id UserID, min_tweets int) (tweets []Tweet, retweets []
|
||||
|
||||
return ParseTweetResponse(tweet_response)
|
||||
}
|
||||
|
||||
|
||||
func GetUserFeedGraphqlFor(user_id UserID, min_tweets int) (trove TweetTrove, err error) {
|
||||
api := API{}
|
||||
api_response, err := api.GetGraphqlFeedFor(user_id, "")
|
||||
if err != nil {
|
||||
err = fmt.Errorf("Error calling API to fetch user feed: UserID %d\n %s", user_id, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if len(api_response.Data.User.Result.Timeline.Timeline.Instructions[0].Entries) < min_tweets && api_response.GetCursorBottom() != "" {
|
||||
err = api.GetMoreTweetsFromGraphqlFeed(user_id, &api_response, min_tweets)
|
||||
if err != nil && err != END_OF_FEED {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return api_response.ToTweetTrove()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user