Skip to main content

A package for renewing and reposting posts on craigslist.com.

Project description

craigslist-reposter

Simple automation of craigslist listing renewal and reposting:

  • Selenium to access craigslist.com, IMAPClient package to authenticate login
  • User information is imported from environment variables
  • Pings an optional Discord webhook when reposts are completed

Installation

git clone https://github.com/PorkyC/craigslist-reposter.git
cd craigslist-reposter
pip install -r requirements.txt

Usage

  1. Set environment variables (e.g. for Windows)
SETX CL_USER craigslist_login@gmail.com
SETX CL_PASS craigslistpassword123
SETX CL_EMAIL_PASS gmailpassword123

# Optional: if using a webhook:
SETX DISCORD_WEBHOOK discord.com/webhook-address
  1. Change CLICK_TYPE in craigslist.py depending on whether script is running on Windows or Mac
# CLICK_TYPE configures which key is used to open the post in a new tab
CLICK_TYPE = Keys.COMMAND # Use this if you are on a Mac
CLICK_TYPE = Keys.CONTROL # Use this if you are on a PC
  1. Set maximum days a post can be active before reposting, and imap address in reposter.py
# MAX_POST_DAYS configures the maximum number of days after posting before reposting
MAX_POST_DAYS = 11

# IMAP_SERVER for email provider, default for gmail
IMAP_SERVER = 'imap.gmail.com'
  1. Run reposter.py (can also be scheduled, e.g. Launchd on MacOS) with arg[1]: max reposts allowed and arg[2]: max renewals allowed.
python3 reposter.py 3 8

TODO:

  • Improve repost process so that no additional configuration needed between MacOS and Windows
  • Save and reload Selenium browser session to reduce new logins and verifications Added 1/14/2023
  • Filter verification emails by subject

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

craigslist_reposter-0.2.1.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

craigslist_reposter-0.2.1-py3-none-any.whl (7.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page