?? Leia a versão coreana
A API do Twitter é chata de trabalhar e tem muitas limitações — felizmente seu frontend (JavaScript) tem sua própria API, que eu fiz engenharia reversa. Sem limites de taxa de API. Sem restrições. Extremamente rápido.
Você pode usar esta biblioteca para obter o texto dos Tweets de qualquer usuário de maneira trivial.
Antes de começar, certifique-se de atender aos seguintes requisitos:
Se você quiser usar a versão mais recente, instale a partir do código-fonte. Para instalar o raspador do Twitter a partir da fonte, siga estas etapas:
Linux e macOS:
git clone https://github.com/bisguzar/twitter-scraper.git
cd twitter-scraper
sudo python3 setup.py install
Além disso, você pode instalar com PyPI.
pip3 install twitter_scraper
Basta importar twitter_scraper e chamar funções!
Você pode obter tweets de perfil ou analisar tweets de hashtag, get_tweets leva nome de usuário ou hashtag no primeiro parâmetro como string e quantas páginas você deseja digitalizar no segundo parâmetro como número inteiro.
Python 3.7 .3 ( default , Mar 26 2019 , 21 : 43 : 19 )
[ GCC 8.2 .1 20181127 ] on linux
Type "help" , "copyright" , "credits" or "license" for more information .
> >> from twitter_scraper import get_tweets
>> >
>> > for tweet in get_tweets ( 'twitter' , pages = 1 ):
... print ( tweet [ 'text' ])
...
spooky vibe check
…
Ele retorna um dicionário para cada tweet. Chaves do dicionário;
Chave | Tipo | Descrição |
---|---|---|
ID do tweet | corda | Identificador do Tweet, visite twitter.com/USERNAME/ID para visualizar o tweet. |
ID do usuário | corda | ID de usuário do Tweet |
nome de usuário | corda | Nome de usuário do Tweet |
tweetUrl | corda | URL do tweet |
éRetweetar | booleano | Verdadeiro se for um retuíte, falso caso contrário |
está fixado | booleano | Verdadeiro se for um tweet fixado, Falso caso contrário |
tempo | datahora | Data de publicação do tweet |
texto | corda | Conteúdo do tweet |
respostas | inteiro | Contagem de respostas do tweet |
retuítes | inteiro | Contagem de retuítes de tweet |
gosta | inteiro | Como contagem de tweet |
entradas | dicionário | Possui hashtags, vídeos, fotos, chaves de URLs. O valor de cada um é uma lista |
Você pode obter as tendências da sua área simplesmente chamando get_trends()
. Ele retornará uma lista de strings.
Python 3.7 .3 ( default , Mar 26 2019 , 21 : 43 : 19 )
[ GCC 8.2 .1 20181127 ] on linux
Type "help" , "copyright" , "credits" or "license" for more information .
> >> from twitter_scraper import get_trends
>> > get_trends ()
[ '#WHUTOT' , '#ARSSOU' , 'West Ham' , '#AtalantaJuve' , '#バビロニア' , '#おっさんずラブinthasky' , 'Southampton' , 'Valverde' , '#MMKGabAndMax' , '#23NParoNacional' ]
Você pode obter informações pessoais de um perfil, como aniversário e biografia, se existir e for pública. Esta classe usa o parâmetro nome de usuário. E retorna sozinho. Acesse informações com variáveis de classe.
Python 3.7 .3 ( default , Mar 26 2019 , 21 : 43 : 19 )
[ GCC 8.2 .1 20181127 ] on linux
Type "help" , "copyright" , "credits" or "license" for more information .
> >> from twitter_scraper import Profile
>> > profile = Profile ( 'bugraisguzar' )
>> > profile . location
'Istanbul'
>> > profile . name
'Buğra İşgüzar'
>> > profile . username
'bugraisguzar'
to_dict é um método da classe Profile . Retorna dados de perfil como dicionário Python.
Python 3.7 .3 ( default , Mar 26 2019 , 21 : 43 : 19 )
[ GCC 8.2 .1 20181127 ] on linux
Type "help" , "copyright" , "credits" or "license" for more information .
> >> from twitter_scraper import Profile
>> > profile = Profile ( "bugraisguzar" )
>> > profile . to_dict ()
{ 'name' : 'Buğra İşgüzar' , 'username' : 'bugraisguzar' , 'birthday' : None , 'biography' : 'geliştirici@peptr' , 'website' : 'bisguzar.com' , 'profile_photo' : 'https://pbs.twimg.com/profile_images/1199305322474745861/nByxOcDZ_400x400.jpg' , 'banner_photo' : 'https://pbs.twimg.com/profile_banners/1019138658/1555346657/1500x500' , 'likes_count' : 2512 , 'tweets_count' : 756 , 'followers_count' : 483 , 'following_count' : 255 , 'is_verified' : False , 'is_private' : False , user_id : "1019138658" }
Para contribuir com o raspador do Twitter, siga estas etapas:
git checkout -b <branch_name>
.git commit -m '<commit_message>'
git push origin <project_name>/<location>
Como alternativa, consulte a documentação do GitHub sobre como criar uma solicitação pull.
Obrigado às seguintes pessoas que contribuíram para este projeto:
Se você quiser entrar em contato comigo, pode entrar em contato comigo em @bugraisguzar.
Este projeto utiliza a seguinte licença: MIT.