Un método rápido para extraer tweets y respuestas gratis Twitter está comenzando a apoderarse del ámbito de las redes sociales. A medida que más comunidades se trasladan a Twitter, comenzamos a ver lo valiosos que son los datos para los anunciantes, los investigadores e incluso los consumidores. Los datos son ahora la próxima fiebre del oro a medida que comenzamos a comprender cómo los datos necesita ser extraído, transformado, cargado y, para beneficio completo, convertido en Información. En teoría, como el oro, los datos son una mercancía. En este artículo, planeo explicar lo fácil que es extraer tweets de Twitter en Python3 usando la API de Twitter de Tweepy. Se puede acceder a estos datos mediante la API de Twitter y Tweepy, que resultó ser el método más exitoso. Planeo concentrarme en extraer respuestas de Tweets de usuarios específicos, ya que no he descubierto ningún tutorial que destaque específicamente cómo extraer respuestas de Tweets. Si desea pasar directamente al código, puede encontrar el código completo en mi Github . El código de Python requiere su API de Twitter y claves de consumidor, así como el nombre de usuario de Twitter del que planea extraer las respuestas y la ID del Tweet. Configuración de la cuenta de desarrollo de Twitter y Tweepy Asegúrese de tener Python instalado en su máquina. Si no lo hace, sugiero usar ; de lo contrario, lea la para encontrar recursos adicionales. Anaconda documentación oficial de Python Para realizar operaciones de Twitter desde su máquina, sugiero usar . Para instalar Tweepy, navegue hasta su entorno y ejecute: Tweepy Python3: pip install tweepy Si está utilizando Anaconda para Python: conda -c conda-forge tweepy install Desarrolladores para Twitter Si desea interactuar con Twitter desde una computadora o máquina, deberá presentar una . La aplicación es sencilla, sea honesto con sus intenciones dentro de la aplicación y será aprobado si Twitter lo considera confiable. Una vez aprobado, podrá crear una aplicación en la plataforma que le proporcione credenciales para autorizar desde Tweepy o su biblioteca de Twitter de Python. solicitud para desarrolladores de Twitter Twitter para desarrolladores brinda acceso a la API de Twitter para publicar y analizar tweets, optimizar anuncios y crear experiencias de cliente únicas. Consulte la . documentación de la API de Twitter aquí Antes de poder utilizar los extremos de la API de Twitter, cree una cuenta de desarrollador y genere sus claves de API. . Debe responder preguntas sobre cómo planea usar la API y aceptar el Acuerdo de desarrollador de Twitter, y luego se le otorgará acceso al Panel de desarrollador. Puede solicitar una cuenta de desarrollador directamente aquí Una vez que se le haya aprobado el acceso a Developers for Twitter, inicie sesión en el y cree su aplicación. Este paso generará automáticamente sus claves API de consumidor y tokens de acceso, recuerde, debe mantenerlos en secreto: sitio del desarrollador La cuenta de desarrollador debe estar vinculada a la cuenta de Twitter donde desea tener activo el bot. Desde la plataforma de desarrollo de Twitter, puede editar los permisos de la aplicación. En mi ejemplo, he otorgado permiso a mi aplicación para leer, escribir y enviar mensajes directos. Autenticación de Twitter con Python Debemos importar Tweepy y luego la interfaz OAuth para recopilar datos, así como csv y ssl. csv tweepy ssl ssl._create_default_https_context = ssl._create_unverified_context consumer_key = consumer_secret = access_token = access_token_secret = auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) import import import # Oauth keys "YOUR_CONSUMER_KEY" "YOUR_CONSUMER_SECRET" "YOUR_ACCESS_TOKEN" "YOUR_ACCESS_SECRET" # Authentication with Twitter Para recopilar respuestas de tweet para un usuario específico y un tweet, debemos enumerar el nombre de usuario del usuario que se raspa, así como la ID del Tweet que se puede encontrar copiando la URL. name = tweet_id = replies=[] tweet tweepy.Cursor(api.search,q= +name, result_type= , timeout= ).items( ): hasattr(tweet, ): (tweet.in_reply_to_status_id_str==tweet_id): replies.append(tweet) # update these for whatever tweet you want to process replies to 'LunarCRUSH' '1270923526690664448' for in 'to:' 'recent' 999999 1000 if 'in_reply_to_status_id_str' if Como esperaba analizar las respuestas, decidí exportar todas las respuestas a un formato de archivo .csv que se puede abrir en Microsoft Excel o Google Sheets. Aquí hay un breve vistazo del csv devuelto: user,text CryptoEntuziast,@LunarCRUSH @zilliqa ofcourse 🚀🚀🚀😎😎😎 ecossexrp1,@LunarCRUSH $VET $XRP 👌🏻 crypto19711,@LunarCRUSH @DAPScoin the best privacy coin this world! / FHs3cYFmK lacryptohero,@LunarCRUSH @Theta_Network Greenmi74576867,@LunarCRUSH / 77V SplendidMite,@LunarCRUSH DAPS_CLimaDelta, DigiBur,@LunarCRUSH M_SRHI,@LunarCRUSH $ICX 💎 $ELA 💎❤️ $NOIA💎 SURAJ_041,@LunarCRUSH @electroneum GbhoyDownUnder,@LunarCRUSH @maticnetwork jodibreeze86,@LunarCRUSH Zilliqa Vechain ghurabar1,@LunarCRUSH $EWT SamManzi,@LunarCRUSH @NoiaNetwork @NoiaFr $NOIA IamDavidGC,@LunarCRUSH Proud of DigiByte community technology. $dgb holder2017,@LunarCRUSH @Falcon_SBS Lilt8888,@LunarCRUSH It would have to be $ICX Creeptwo_guy13,@LunarCRUSH That question is way too easy. Absolutely its $ICX BitStreetSheep,@LunarCRUSH jms3333333,@LunarCRUSH LInk UBT KNC EWT SOLVE einnorka,@LunarCRUSH Digibyte HamishDonalds0n,@LunarCRUSH $icx $vet $zil $ada $eth $link amity3013,@LunarCRUSH $zil you know it elianhuesca, AaronMilo,@LunarCRUSH majjjubu,@LunarCRUSH Chz Benjy25680913,@LunarCRUSH $LUNARCRUSH ItchyTommi,@LunarCRUSH / 8l2WwP3qK Stakenet. The one only siggebaskero,@LunarCRUSH DanXrp,@LunarCRUSH $VET no doubt crypto1618,@LunarCRUSH thelionshire,@LunarCRUSH ICON $icx ChillMa27939777,@LunarCRUSH BeholdTheBeard,@LunarCRUSH Tezos $XTZ Theta $THETA lennyshots,@LunarCRUSH Shatochzi,@LunarCRUSH $CHZ RonDalton01,@LunarCRUSH Realmikeleonard,@LunarCRUSH Incognitor00st1,@LunarCRUSH $DGB 🔥 Cryptowhale1 ,@LunarCRUSH $ICX / WQTbyPkpEB XxVegetta,@LunarCRUSH We are DAPS soliders I have been dedicated to our project years I think many years to co… / QLk7kKJkhk CaliCryptoCo,@LunarCRUSH $ICX man MoonShotCaller,@LunarCRUSH Dominic_LTC_DGB,@LunarCRUSH @DigiByteCoin GrowlerGregg,@LunarCRUSH $LINK adflondon,@LunarCRUSH We all know its $ICX SajawalOnTech,@LunarCRUSH To many projects but I guess $Wan $link $Zil $Icx IconPilipinas,@LunarCRUSH $ICX jonade,@LunarCRUSH $ZIL twills2,@LunarCRUSH Do we really have to say it...... $zil 🚀 in https: /t.co/x https: /t.co/vwmznwu #VeChain $VET "@LunarCRUSH Because I am judging a project for the best technology, transparency, reliable team and dedicated commu… https://t.co/6xS9vdx1oY" #digibyte #ETN . and and #FNT token traded on #exchanges. #Anonymous coin #FNC is not traded anywhere. connected b… https://t.co/0mz7bmaG1k #ICON. #VeChain without question "@LunarCRUSH @decredproject by far: hybrid PoW/PoS blockchain, formal governance in place, Treasury with 10% of bloc… https://t.co/oRnMc4UD5P" #digibyte https://t.co/000HoTfLqB https: /t.co/y and #PIVX thanks to _Community who's doing a great job 💜 Engaging with a growing community like… https://t.co/CBlhJm7gZj @PIVX #icx #Zilliqa #ZIL ✌😎 #DigiByte #chiliz #VET #XMR no doubt about it 0 https: /t.co/ for 2 and for https: /t.co/ #VeChain 💙 $VET Código completo de Python Puede ver todo el código para que esto funcione visitando . este enlace csv tweepy ssl ssl._create_default_https_context = ssl._create_unverified_context consumer_key = consumer_secret = access_token = access_token_secret = auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) name = tweet_id = replies=[] tweet tweepy.Cursor(api.search,q= +name, result_type= , timeout= ).items( ): hasattr(tweet, ): (tweet.in_reply_to_status_id_str==tweet_id): replies.append(tweet) open( , ) f: csv_writer = csv.DictWriter(f, fieldnames=( , )) csv_writer.writeheader() tweet replies: row = { : tweet.user.screen_name, : tweet.text.replace( , )} csv_writer.writerow(row) import import import # Oauth keys "XXX" "XXX" "XXX" "XXX" # Authentication with Twitter # update these for the tweet you want to process replies to 'name' = the account username and you can find the tweet id within the tweet URL 'LunarCRUSH' '1270923526690664448' for in 'to:' 'recent' 999999 1000 if 'in_reply_to_status_id_str' if with 'replies_clean.csv' 'w' as 'user' 'text' for in 'user' 'text' '\n' ' ' Pensamientos finales En unas pocas líneas de código, su raspador de respuestas de Twitter configurable ahora extrae datos de Twitter y guarda automáticamente las respuestas de Tweet en su máquina. Hay algunas cosas que se pueden hacer para mejorar el código, como mapear múltiples respuestas u obtener las respuestas de aquellos que respondieron a la publicación original. Por favor, hágamelo saber en los comentarios si tiene alguna pregunta o sugerencia. Comparta su conocimiento, abra el código fuente de sus proyectos, participe en una comunidad (¡cualquier comunidad!) y tal vez solo publique una publicación de blog al respecto. ¡El conocimiento es poder! Gracias por leer La crítica constructiva y la retroalimentación son bienvenidas. Se puede contactar a Nicholas Resendez en Instagram en y Twitter. para actualizaciones sobre nuevos artículos. @nirholas , LinkedIn @nickresendez