check tweets for sensitive content
This commit is contained in:
parent
e6ddf32a93
commit
cd161d56db
3 changed files with 41 additions and 28 deletions
2
api.go
2
api.go
|
|
@ -8,7 +8,7 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
const bearerToken string = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
|
||||
const bearerToken string = "AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw"
|
||||
|
||||
// RequestAPI get JSON from frontend API and decodes it
|
||||
func (s *Scraper) RequestAPI(req *http.Request, target interface{}) error {
|
||||
|
|
|
|||
20
timeline.go
20
timeline.go
|
|
@ -30,10 +30,15 @@ type timeline struct {
|
|||
} `json:"entities"`
|
||||
ExtendedEntities struct {
|
||||
Media []struct {
|
||||
IDStr string `json:"id_str"`
|
||||
MediaURLHttps string `json:"media_url_https"`
|
||||
Type string `json:"type"`
|
||||
VideoInfo struct {
|
||||
IDStr string `json:"id_str"`
|
||||
MediaURLHttps string `json:"media_url_https"`
|
||||
ExtSensitiveMediaWarning struct {
|
||||
AdultContent bool `json:"adult_content"`
|
||||
GraphicViolence bool `json:"graphic_violence"`
|
||||
Other bool `json:"other"`
|
||||
} `json:"ext_sensitive_media_warning"`
|
||||
Type string `json:"type"`
|
||||
VideoInfo struct {
|
||||
Variants []struct {
|
||||
Bitrate int `json:"bitrate,omitempty"`
|
||||
URL string `json:"url"`
|
||||
|
|
@ -211,9 +216,16 @@ func (timeline *timeline) parseTweet(id string) *Tweet {
|
|||
maxBitrate = variant.Bitrate
|
||||
}
|
||||
}
|
||||
|
||||
tw.Videos = append(tw.Videos, video)
|
||||
}
|
||||
|
||||
if !tw.SensitiveContent {
|
||||
sensitive := media.ExtSensitiveMediaWarning
|
||||
tw.SensitiveContent = sensitive.AdultContent || sensitive.GraphicViolence || sensitive.Other
|
||||
}
|
||||
}
|
||||
|
||||
for _, url := range tweet.Entities.URLs {
|
||||
tw.URLs = append(tw.URLs, url.ExpandedURL)
|
||||
}
|
||||
|
|
|
|||
47
types.go
47
types.go
|
|
@ -12,29 +12,30 @@ type (
|
|||
|
||||
// Tweet type.
|
||||
Tweet struct {
|
||||
Hashtags []string
|
||||
HTML string
|
||||
ID string
|
||||
InReplyToStatus *Tweet
|
||||
IsQuoted bool
|
||||
IsPin bool
|
||||
IsReply bool
|
||||
IsRetweet bool
|
||||
Likes int
|
||||
PermanentURL string
|
||||
Photos []string
|
||||
Place *Place
|
||||
QuotedStatus *Tweet
|
||||
Replies int
|
||||
Retweets int
|
||||
RetweetedStatus *Tweet
|
||||
Text string
|
||||
TimeParsed time.Time
|
||||
Timestamp int64
|
||||
URLs []string
|
||||
UserID string
|
||||
Username string
|
||||
Videos []Video
|
||||
Hashtags []string
|
||||
HTML string
|
||||
ID string
|
||||
InReplyToStatus *Tweet
|
||||
IsQuoted bool
|
||||
IsPin bool
|
||||
IsReply bool
|
||||
IsRetweet bool
|
||||
Likes int
|
||||
PermanentURL string
|
||||
Photos []string
|
||||
Place *Place
|
||||
QuotedStatus *Tweet
|
||||
Replies int
|
||||
Retweets int
|
||||
RetweetedStatus *Tweet
|
||||
Text string
|
||||
TimeParsed time.Time
|
||||
Timestamp int64
|
||||
URLs []string
|
||||
UserID string
|
||||
Username string
|
||||
Videos []Video
|
||||
SensitiveContent bool
|
||||
}
|
||||
|
||||
// ProfileResult of scrapping.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue