twitter-scrapper/README.md

105 lines
2 KiB
Markdown
Raw Normal View History

2018-11-29 17:33:44 +02:00
# Twitter Scraper
Golang implementation of python library <https://github.com/kennethreitz/twitter-scraper>
Twitter's API is annoying to work with, and has lots of limitations —
luckily their frontend (JavaScript) has it's own API, which I reverse-engineered.
No API rate limits. No tokens needed. No restrictions. Extremely fast.
You can use this library to get the text of any user's Tweets trivially.
## Usage
### Get user tweets
2019-09-21 10:59:45 +03:00
2018-11-29 17:33:44 +02:00
```golang
package main
import (
"fmt"
twitterscraper "github.com/n0madic/twitter-scraper"
)
func main() {
for tweet := range twitterscraper.GetTweets("kennethreitz", 25) {
2019-09-21 11:02:22 +03:00
if tweet.Error != nil {
panic(tweet.Error)
}
2018-11-29 17:33:44 +02:00
fmt.Println(tweet.HTML)
}
}
```
It appears you can ask for up to 25 pages of tweets reliably (~486 tweets).
2020-05-15 17:56:57 +02:00
### Search tweets by query standard operators
Tweets containing “twitter” and “scraper” and “data“, filtering out retweets:
```golang
package main
import (
"fmt"
twitterscraper "github.com/n0madic/twitter-scraper"
)
func main() {
for tweet := range twitterscraper.SearchTweets(context.Background(), "twitter scraper data -filter:retweets", 50) {
if tweet.Error != nil {
panic(tweet.Error)
}
fmt.Println(tweet.HTML)
}
}
```
The search ends if we have 50 tweets.
See <https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/standard-operators> for build standard queries.
2019-09-21 10:59:45 +03:00
### Get profile
```golang
package main
import (
2019-09-21 11:02:22 +03:00
"fmt"
twitterscraper "github.com/n0madic/twitter-scraper"
2019-09-21 10:59:45 +03:00
)
func main() {
2019-09-21 11:02:22 +03:00
profile, err := twitterscraper.GetProfile("kennethreitz")
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", profile)
2019-09-21 10:59:45 +03:00
}
```
2020-02-12 10:45:19 +02:00
### Get trends
```golang
package main
import (
"fmt"
twitterscraper "github.com/n0madic/twitter-scraper"
)
func main() {
trends, err := twitterscraper.GetTrends()
if err != nil {
panic(err)
}
fmt.Println(trends)
}
```
2018-11-29 17:33:44 +02:00
## Installation
```shell
go get -u github.com/n0madic/twitter-scraper
2020-02-12 10:45:19 +02:00
```