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) {
|
func fetch_user_feed(handle string, how_many int) {
|
||||||
user, err := profile.GetUserByHandle(scraper.UserHandle(handle))
|
user, err := profile.GetUserByHandle(scraper.UserHandle(handle))
|
||||||
|
|
||||||
if err != nil {
|
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 {
|
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 {
|
for _, u := range users {
|
||||||
fmt.Println(u.Handle)
|
fmt.Println(u.Handle)
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package scraper
|
package scraper
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of tweets that appear on the given user's page, along with a list of associated
|
* 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)
|
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