Dirty fix for trends

This commit is contained in:
Alexander Sheiko 2022-04-18 12:42:39 +03:00
parent 2a5f801f85
commit d1938ac2f1
3 changed files with 14 additions and 3 deletions

4
api.go
View file

@ -30,7 +30,7 @@ func (s *Scraper) RequestAPI(req *http.Request, target interface{}) error {
}
}
req.Header.Set("Authorization", "Bearer "+bearerToken)
req.Header.Set("Authorization", "Bearer "+s.bearerToken)
req.Header.Set("X-Guest-Token", s.guestToken)
// use cookie
@ -64,7 +64,7 @@ func (s *Scraper) GetGuestToken() error {
if err != nil {
return err
}
req.Header.Set("Authorization", "Bearer "+bearerToken)
req.Header.Set("Authorization", "Bearer "+s.bearerToken)
resp, err := s.client.Do(req)
if err != nil {

View file

@ -15,6 +15,7 @@ import (
// Scraper object
type Scraper struct {
bearerToken string
client *http.Client
delay int64
guestToken string
@ -51,10 +52,16 @@ var defaultScraper *Scraper
// New creates a Scraper object
func New() *Scraper {
return &Scraper{
bearerToken: bearerToken,
client: &http.Client{Timeout: DefaultClientTimeout},
}
}
func (s *Scraper) setBearerToken(token string) {
s.bearerToken = token
s.guestToken = ""
}
// IsGuestToken check if guest token not empty
func (s *Scraper) IsGuestToken() bool {
return s.guestToken != ""

View file

@ -2,6 +2,8 @@ package twitterscraper
import "fmt"
var bearerToken2 = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
// GetTrends return list of trends.
func (s *Scraper) GetTrends() ([]string, error) {
req, err := s.newRequest("GET", "https://twitter.com/i/api/2/guide.json")
@ -17,7 +19,9 @@ func (s *Scraper) GetTrends() ([]string, error) {
req.URL.RawQuery = q.Encode()
var jsn timeline
s.setBearerToken(bearerToken2)
err = s.RequestAPI(req, &jsn)
s.setBearerToken(bearerToken)
if err != nil {
return nil, err
}