This Python3 script will monitor Upwork RSS feed and then email you the results.

Overview

Upwork RSS Parser

This Python3 script will monitor Upwork RSS feed and then email you the results.

Table of Contents

General Information

This Python3 script will monitor Upwork RSS feed, filter out listings based on client budget/keywords, and then email you the results.

Technologies Used

  • Python3
  • requests
  • bs4 (BeautifulSoup)
  • lxml
  • ssl
  • smtplib
  • email.message

Features

  • Parses Upwork RSS feed every N seconds
  • Filters out listings that don't meet the desired minimum budget
  • Filters out listings that don't contain at least one specific keyword
  • Emails you the results (if there are any)

Screenshots

screenshot

Setup

download/clone repo

Login to Upwork, navigate to the job search page within the category of your choice. In my case it was "Web, Mobile, & Software Development". Make sure the results are sorted by "newest". Then click on the icon that looks like a green wifi logo. Right click on RSS, then copy the URL.

upwork

If you want email sending capabilities, first create a new Gmail account. Then go into the account settings and enable "less secure apps".

After creating your email account for sending emails, open upwork-rss-parser.py and edit the following values:

KEYWORDS = ["website", "wordpress", "react", "javascript", "landing", "elementor"] #keywords to look for in title/description

MINIMUM_BUDGET = 250 #Minimum budget to search for in dollars

RSS_URL = "https://www.upwork.com" #Upwork RSS URL that you gathered earlier

TO_EMAIL = "[email protected]" #Email address that you want to receive the notifications on

FROM_EMAIL = "[email protected]" #Email address that you created on Gmail with less secure apps enabled

SLEEP_TIME = 250 #Time to sleep between Upwork RSS HTTP GET requests

run pip3 install -r requirements.txt in project root directory

run python3 upwork-rss-parser.py in project root directory

Project Status

in progress

TODO

  • Resend email on failure
  • More RSS feeds?
  • ...

Acknowledgements

  • Many thanks to Sergii, Chris, Swapna, Aras, Brock, Ibrahim, Ali, Sandra, Abhishek, my cat, Mozart, Monster Energy

Contact

Created by Chris @chrmc - feel free to contact me!

Owner
Chris
Front-end Web Developer 💻 I love to solve problems, think creatively, write code, and learn new things.
Chris
This is a Poetry plugin that will make it possible to build projects using custom TOML files

Poetry Multiproject Plugin This is a Poetry plugin that will make it possible to build projects using custom TOML files. This is especially useful whe

David Vujic 69 Dec 25, 2022
Serverless demo showing users how they can capture (and obfuscate) their Lambda payloads in Datadog APM

Serverless-capture-lambda-payload-demo Serverless demo showing users how they can capture (and obfuscate) their Lambda payloads in Datadog APM This wi

Datadog, Inc. 1 Nov 02, 2021
Our Ping Pong Project of numerical analysis, 2nd year IC B2 INSA Toulouse

Ping Pong Project The objective of this project was to determine the moment of impact of the ball with the ground. To do this, we used different model

0 Jan 02, 2022
A Python3 script to decode an encoded VBScript file, often seen with a .vbe file extension

vbe-decoder.py Decode one or multiple encoded VBScript files, often seen with a .vbe file extension. Usage usage: vbe-decoder.py [-h] [-o output] file

John Hammond 147 Nov 15, 2022
A very terrible python-based programming language that uses folders instead of text files

PYFolders by Lewis L. Foster PYFolders is a very terrible python-based programming language that uses folders instead of regular text files. In this r

Lewis L. Foster 5 Jan 08, 2022
Oppia is an online learning tool that enables anyone to easily create and share interactive activities

Oppia is an online learning tool that enables anyone to easily create and share interactive activities (called 'explorations'). These activities simulate a one-on-one conversation with a tutor, makin

Oppia 4.7k Dec 29, 2022
Logo DYS (Doküman Yönetim Sitemi) API Python Implementation

dys-connector Logo DYS (Dokuman Yonetim Sistemi) API Python Implementation Python Package: https://pypi.org/project/dys-connector Quick Start from dys

Logo Group 8 Mar 19, 2022
Ingest openldap data into bloodhound

Bloodhound for Linux Ingest a dumped OpenLDAP ldif into neo4j to be visualized in Bloodhound. Usage: ./ldif_to_neo4j.py ./sample.ldif | cypher-shell -

Guillaume Quéré 71 Nov 09, 2022
Lags valorant servers by rapidly picking up and throwing shorties.

Lags valorant servers by rapidly picking up and throwing shorties.

Eric Still 9 Dec 30, 2021
Refer'd Resume Scanner

Refer'd Resume Scanner I wanted to share a free resource we built to assist applicants with resume building. Our resume scanner identifies potential s

Refer'd 74 Mar 07, 2022
Get information about what a Python frame is currently doing, particularly the AST node being executed

executing This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed. Usage Getting th

Alex Hall 211 Jan 01, 2023
Materials and information for my PyCascades 2021 Presentation

Materials and information for PyCascades 2021 Presentation: Sparking Creativity in LED Art with CircuitPython

GeekMomProjects 19 May 04, 2022
pyinsim is a InSim module for the Python programming language.

PYINSIM pyinsim is a InSim module for the Python programming language. It creates socket connection with LFS and provides many classes, functions and

2 May 12, 2022
A pomodoro app written in Python

Pomodoro It's a pomodoro app written in Python. You can minimize it while you're working if you want to, it'll pop up on your screen when the timer is

Yiğit 1 Dec 20, 2021
A Bot Which Can generate Random Account Based On Your Hits.

AccountGenBot This Bot Can Generate Account With Hits You Save (Randomly) Keyfeatures Join To Use Support Limit Account Generation Using Sql Customiza

DevsExpo 30 Oct 21, 2022
Awesome & interesting talks about programming

Programming Talks I watch a lot of talks that I love to share with my friends, fellows and coworkers. As I consider all GitHubbers my friends (oh yeah

Veit Heller 7k Dec 26, 2022
python based clash stars made by grade 7 and 5

clash_stars python based clash stars made by grade 7 and 5 How to play: PLAYER ONE (LEFT PLAYER) Move: W,A,S,D Shoot: SHIFT PLAYER TWO (RIGHT PLAYER)

5 Oct 22, 2021
This repo houses the qhub frontend moving forward.

This repo houses the qhub frontend moving forward. This effort will house a backend written in fastAPI, and a fronend in Vue, with additional components.

Quansight 1 Feb 10, 2021
Spartan implementation of H.O.T.T.

Down The Path I was walking down the line, Trying to find some peace of mind. Then I saw you, You were takin' it slow, And walkin' it one step at a ti

Trebor Huang 25 Aug 05, 2022
Grammar of Scalable Linked Interactive Nucleotide Graphics

Gosling.js Gosling.js is a declarative grammar for interactive (epi)genomics visualization on the Web. ⚠️ Please be aware that the grammar of Gosling.

Gosling 126 Nov 29, 2022