All Projects → honzajavorek → schedule-tweet

honzajavorek / schedule-tweet

Licence: MIT License
Schedules tweets using TweetDeck

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to schedule-tweet

chesf
CHeSF is the Chrome Headless Scraping Framework, a very very alpha code to scrape javascript intensive web pages
Stars: ✭ 18 (+28.57%)
Mutual labels:  scraping, selenium, webscraping
fBrowser
Helpful Selenium functions to make web-scraping easier and faster
Stars: ✭ 16 (+14.29%)
Mutual labels:  selenium, webscraping, selenium-python
ig-automatic-story-viewer
Python Program To Send Instagram Story Views
Stars: ✭ 17 (+21.43%)
Mutual labels:  selenium, selenium-python
tithiwa
Automate Web WhatsApp with selenium in python.
Stars: ✭ 17 (+21.43%)
Mutual labels:  selenium, selenium-python
anime-scraper
[partially working] Scrape and add anime episode stream URLs to uGet (Linux) or IDM (Windows) ~ Python3
Stars: ✭ 21 (+50%)
Mutual labels:  scraping, webscraping
docker-selenium-lambda
The simplest demo of chrome automation by python and selenium in AWS Lambda
Stars: ✭ 172 (+1128.57%)
Mutual labels:  scraping, selenium
python-appium-framework
Complete Python Appium framework in 360 degree
Stars: ✭ 43 (+207.14%)
Mutual labels:  selenium, selenium-python
InstaBot
Simple and friendly Bot for Instagram, using Selenium and Scrapy with Python.
Stars: ✭ 32 (+128.57%)
Mutual labels:  scraping, selenium
ioweb
Web Scraping Framework
Stars: ✭ 31 (+121.43%)
Mutual labels:  scraping, webscraping
image-crawler
An image scraper that scraps images from unsplash.com
Stars: ✭ 12 (-14.29%)
Mutual labels:  selenium, webscraping
chirps
Twitter bot powering @arichduvet
Stars: ✭ 35 (+150%)
Mutual labels:  twitter, scraping
non-api-fb-scraper
Scrape public FaceBook posts from any group or user into a .csv file without needing to register for any API access
Stars: ✭ 40 (+185.71%)
Mutual labels:  selenium, webscraping
Sneakers Project
Using Selenium, Neha scraped data about 35 top selling sneakers of Nike and Adidas from stockx.com. She used this data to draw insights about sneaker resales.
Stars: ✭ 32 (+128.57%)
Mutual labels:  selenium, webscraping
Instagram-Scraper-2021
Scrape Instagram content and stories anonymously, using a new technique based on the har file (No Token + No public API).
Stars: ✭ 57 (+307.14%)
Mutual labels:  selenium, webscraping
selenium-grid-docker-swarm
web scraping in parallel with Selenium Grid and Docker
Stars: ✭ 32 (+128.57%)
Mutual labels:  selenium, webscraping
browser-automation-api
Browser automation API for repetitive web-based tasks, with a friendly user interface. You can use it to scrape content or do many other things like capture a screenshot, generate pdf, extract content or execute custom Puppeteer, Playwright functions.
Stars: ✭ 24 (+71.43%)
Mutual labels:  scraping, webscraping
bots-zoo
No description or website provided.
Stars: ✭ 59 (+321.43%)
Mutual labels:  scraping, selenium
RARBG-scraper
With Selenium headless browsing and CAPTCHA solving
Stars: ✭ 38 (+171.43%)
Mutual labels:  scraping, selenium
scrape-youtube-channel-videos-url
This Python script is used to scrape all the video links from a youtube channel.
Stars: ✭ 34 (+142.86%)
Mutual labels:  selenium, selenium-python
Instagram-Giveaways-Winner
Instagram Bot which when given a post url will spam mentions to increase the chances of winning. Win Instagram Giveaways!
Stars: ✭ 95 (+578.57%)
Mutual labels:  selenium, selenium-python

Schedule Tweet

Automated tweet scheduling using TweetDeck. Uses Selenium to spawn a browser, log in to TweetDeck with your credentials, and schedule a tweet on your behalf by clicking on things in the app.

Installation

Install geckodriver. On macOS with Homebrew you can use brew install geckodriver. Then...

$ pip install schedule_tweet

Only Python 3.6 and higher is supported.

Usage

>>> import os
>>> from datetime import datetime, timedelta
>>>
>>> import schedule_tweet
>>>
>>> username = 'schedule_tw'
>>> password = os.getenv('PASSWORD')
>>> now_dt = datetime.now()
>>>
>>> with schedule_tweet.session(username, password) as session:
...     dt = now_dt + timedelta(minutes=2)
...     session.tweet(dt, f'First Tweet 🚀 {dt.isoformat()}')
...
...     dt = now_dt + timedelta(minutes=3)
...     session.tweet(dt, f'Second Tweet 💥 {dt.isoformat()}')

Multiple Accounts

If you have multiple accounts in your TweetDeck, you can specify the account to tweet from by session.tweet(dt, text, username='different_account'). By default the tweet gets sent from the initial username.

Images

Not supported yet. Contribute! This could help you. Note that scheduled tweets can have only one image (TweetDeck limitation).

Tests

Obviously, TweetDeck authors can change anything anytime, which may or may not break this tool. That's why it is tested by a regular nightly Travis CI build. If it's able to schedule a tweet in the sample @schedule_tw account, it assumes the tool still works and the build will pass. If the build badge is red, it means the tool doesn't work anymore and it needs to be updated.

https://travis-ci.org/honzajavorek/schedule-tweet.svg?branch=master

The same tests run every time there is any change on the master branch.

Maintenance

I made the library to itch my own scratch. If it gets broken, there is some probability I'll need to use it, I'll fix it, and I'll release a new version. Otherwise I provide no support as I don't really have time to do proper maintenance of the project. I'll gladly review and accept Pull Requests though.

Why

Twitter doesn't provide tweets scheduling in their API. It is provided only as a feature of TweetDeck, their advanced official client. Unlike other clients which support tweets scheduling, TweetDeck is free of charge, it is an official tool made by Twitter themselves, and it supports teams.

The schedule-tweet tool was originally built to save precious volunteering time of the PyCon CZ social media team.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].