Dirty fix for trends
This commit is contained in:
parent
2a5f801f85
commit
d1938ac2f1
3 changed files with 14 additions and 3 deletions
4
api.go
4
api.go
|
|
@ -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)
|
req.Header.Set("X-Guest-Token", s.guestToken)
|
||||||
|
|
||||||
// use cookie
|
// use cookie
|
||||||
|
|
@ -64,7 +64,7 @@ func (s *Scraper) GetGuestToken() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
req.Header.Set("Authorization", "Bearer "+bearerToken)
|
req.Header.Set("Authorization", "Bearer "+s.bearerToken)
|
||||||
|
|
||||||
resp, err := s.client.Do(req)
|
resp, err := s.client.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import (
|
||||||
|
|
||||||
// Scraper object
|
// Scraper object
|
||||||
type Scraper struct {
|
type Scraper struct {
|
||||||
|
bearerToken string
|
||||||
client *http.Client
|
client *http.Client
|
||||||
delay int64
|
delay int64
|
||||||
guestToken string
|
guestToken string
|
||||||
|
|
@ -51,10 +52,16 @@ var defaultScraper *Scraper
|
||||||
// New creates a Scraper object
|
// New creates a Scraper object
|
||||||
func New() *Scraper {
|
func New() *Scraper {
|
||||||
return &Scraper{
|
return &Scraper{
|
||||||
client: &http.Client{Timeout: DefaultClientTimeout},
|
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
|
// IsGuestToken check if guest token not empty
|
||||||
func (s *Scraper) IsGuestToken() bool {
|
func (s *Scraper) IsGuestToken() bool {
|
||||||
return s.guestToken != ""
|
return s.guestToken != ""
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package twitterscraper
|
||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
|
|
||||||
|
var bearerToken2 = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
|
||||||
|
|
||||||
// GetTrends return list of trends.
|
// GetTrends return list of trends.
|
||||||
func (s *Scraper) GetTrends() ([]string, error) {
|
func (s *Scraper) GetTrends() ([]string, error) {
|
||||||
req, err := s.newRequest("GET", "https://twitter.com/i/api/2/guide.json")
|
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()
|
req.URL.RawQuery = q.Encode()
|
||||||
|
|
||||||
var jsn timeline
|
var jsn timeline
|
||||||
|
s.setBearerToken(bearerToken2)
|
||||||
err = s.RequestAPI(req, &jsn)
|
err = s.RequestAPI(req, &jsn)
|
||||||
|
s.setBearerToken(bearerToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue