Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 2.5 KB

README.md

File metadata and controls

79 lines (61 loc) · 2.5 KB

rightmove-by-notice-period

The lack of ability to filter by 'Date Available' on RightMove encouraged me to hack this together.

It scrapes the result of a configured RightMove search, which can also take into account the date after you wish to move, and uploads the results to a worksheet on Google Sheets.

Installation

Use the package manager pip to install dependencies:

pip install -r requirements.txt

Usage

To write to google sheets, you will need to configure access to the Sheets API for a service account, instructions to do so can be found here.

To configure a search, create configuration.ini and edit as required:

[locations]
locationIdentifiers - Comma seperated RightMove location identifiers, you can grab this from your target search URL in a browser

[filters]
availableAfter - The date you want to filter properties by, only properties available on or after this date will be returned
availableAfterNWeeks - (OVERRIDES availableAfter) The number of weeks until you need to move, only properties available after this date will be returned
radius - Radius in miles
minPrice - Minimum Price
maxPrice - Maximum Price
minBedrooms - Minumum Beds
maxBedrooms - Maximum Beds
dontShow - Comma seperated string of property types to exclude, valid values: houseShare,retirement,student
furnishTypes - Comma seperated string of eligible furnishing types, valid values: furnished, unfurnished,partFurnished

[gspread]
serviceAccountConfigurationPath - Path to your Google API service account configuration
sheetName - Name of the sheet to write to

[mailer] (Optional, can be used to email results)
port - SMTP port
server - SMTP Server
login - SMTP User / Login
password - SMTP Password
sender - SMTP Sender
receiver - SMTP Receiver

for example:

[locations]
identifiers = REGION^93802,REGION^87521

[filters]
availableAfterNWeeks = 7
# availableAfter = 01/01/2023
radius=1
minPrice = 0
maxPrice = 1500
minBedrooms = 2
maxBedrooms = 3
dontShow=houseShare,retirement,student
furnishTypes=unfurnished,partFurnished

[gspread]
serviceAccountConfigurationPath=/Users/foobar/.config/gspread/service_account.json
sheetName=Rental Scraper

[mailer]
port=465
server=smtp.gmail.com
[email protected]
password=foobarssupersecretpassword
[email protected]
[email protected]

Once configured, the script can be executed periodically (using a CRON job for example).