From c07bd1d1d41c5316d557529685f2df476159c08b Mon Sep 17 00:00:00 2001 From: Alexander Sheiko Date: Thu, 1 Jun 2023 23:05:37 +0300 Subject: [PATCH] improve request --- profile.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/profile.go b/profile.go index f6038ef..3cfc5ad 100644 --- a/profile.go +++ b/profile.go @@ -3,6 +3,7 @@ package twitterscraper import ( "fmt" "net/http" + "net/url" "sync" "time" ) @@ -49,11 +50,20 @@ type user struct { // GetProfile return parsed user profile. func (s *Scraper) GetProfile(username string) (Profile, error) { var jsn user - req, err := http.NewRequest("GET", "https://api.twitter.com/graphql/4S2ihIKfF3xhp-ENxvUAfQ/UserByScreenName?variables=%7B%22screen_name%22%3A%22"+username+"%22%2C%22withHighlightedLabel%22%3Atrue%7D", nil) + req, err := http.NewRequest("GET", "https://api.twitter.com/graphql/4S2ihIKfF3xhp-ENxvUAfQ/UserByScreenName", nil) if err != nil { return Profile{}, err } + variables := map[string]interface{}{ + "screen_name": username, + "withHighlightedLabel": true, + } + + query := url.Values{} + query.Set("variables", mapToJSONString(variables)) + req.URL.RawQuery = query.Encode() + err = s.RequestAPI(req, &jsn) if err != nil { return Profile{}, err