UNPKG

@tcortega/twitter-scraper

Version:

Twitter Scraper & Media Downloader. Scrape info from any tweet.

116 lines (93 loc) 3 kB
# Twitter Scraper & Downloader Scrape and download useful information from Twitter. ## No login or password are required This is not an official API support. This is just a scraper which uses Twitter's web API to scrape media and related meta information. --- ## Content - [Features](#features) - [To Do](#to-do) - [Contribution](#contribution) - [Installation](#installation) - [Usage](#usage) - [Module](#module) - [Methods](#methods) - [Use with Promises](#promise) - [Output Example](#json-output-example) - [Tweet Feed Methods](#tweet-feed) ## Features - Scrape metadata from any tweet, including video & image urls. ## To Do - [ ] Add support to scrape user-specific metadata. - [ ] Improve documentation ## Contribution - Don't forget about tests ```sh yarn test ``` ```sh yarn build ``` ## Installation twitter-scraper requires [Node.js](https://nodejs.org/) v10+ to run. **Install from NPM** ```sh npm i -g @tcortega/twitter-scraper ``` **Install from YARN** ```sh yarn global add @tcortega/twitter-scraper ``` ## USAGE ## Module ### Methods ```javascript .getTweetMeta(tweetUrl) // Scrape tweet metadata from a specific tweet (Promise). ``` ## Promise ```javascript const { TwitterScraper } = require("@tcortega/twitter-scraper"); // Tweet Metadata by tweet url. (async () => { try { const twtScraper = await TwitterScraper.create(); const tweetMeta = await twtScraper.getTweetMeta("https://twitter.com/Twitter/status/1390396166496522247"); console.log(tweetMeta); } catch (error) { console.log(error); } })(); ``` ### Json Output Example #### Tweet Feed Example output for the methods: **getTweetMeta** ```javascript // Note that everything inside media_url is usually sorted by the bitrate descendingly { id: '1379101721343975426', created_at: 'Mon Apr 05 16:00:47 +0000 2021', description: 'Hey #DisabilityTwitter, thank you so much for your feedback about captioning our videos. We hear you, we see you, we’ve added captions to this @TwitterSpaces announcement. What do you think? We’ll continue to level up our captioning process moving forward. #UntilWeAllBelong https://t.co/E3EK7MZmgR', isMedia: true, favorite_count: 2759, retweet_count: 489, reply_count: 1188, quote_count: 111, isVideo: true, media_url: [ { bitrate: 2176000, content_type: 'video/mp4', url: 'https://video.twimg.com/ext_tw_video/1379100778439270410/pu/vid/1280x720/iUvXD6H13QiZF7mp.mp4?tag=12' }, { bitrate: 832000, content_type: 'video/mp4', url: 'https://video.twimg.com/ext_tw_video/1379100778439270410/pu/vid/640x360/ilHR1Y8Zl6yRIXOi.mp4?tag=12' }, { bitrate: 256000, content_type: 'video/mp4', url: 'https://video.twimg.com/ext_tw_video/1379100778439270410/pu/vid/480x270/KFG8GZ4tSTtjwwuk.mp4?tag=12' } ] } ```