Skip to main content

Webscraping tool for archiving sales records on RightMove.

Project description

PropertyListings

Description:

New way to gather property sales intel from RightMove.

Simple webscraping command-line tool for archiving property sales record data from RightMove property listings website. Build search query functions that can utilise all search parameter filters made available through the website; make it scale and set how many pages of property sales records you wish to scrape.

Requirements:

  • Python 3+

Installation:

Install python and:

pip install --upgrade propertylistings

Quickstart:

Using the command-line interface try this search:

propertylistings search --pages 5 --region Edinburgh

Or use as a library:

from propertylistings.properties_scraper import PropertiesWebTool as properties

for property in properties(pages=25, region="London", min_price=1000000, garden=True, parking=True):
    print(property)

Instead of having all rows of property data printing to the terminal, use the write data to a CSV document option:

propertylistings --save-file search --pages 10 --region city-of-london --max-price 600000 --min-beds 2 --max-beds 3

To set the output filepath yourself, include the '--filepath' option also:

propertylistings --save-file --filepath my_scraped_data.csv search --region Cardiff

Usage:

This is a webscraping tool that grabs available data presented on the RightMove sales feed by their map region. Through all the options made available in PropertyListings, most of, if not every search parameter that exists on RightMove search functionality can be used to create a search query function with PropertyListings. The data and opportunities with this tool are endless, and when you find what you are looking for, go have a look for the same properties on RightMove itself.

For all the search options available to you on PropertyListings, use the '--help' option:

propertylistings search --help

The response data consists of:

  • 'address'
  • 'country'
  • 'name'
  • 'status' (such as: when first 'added' or last 'reduced')
  • 'date' (specific to the above)
  • 'sales description'

The most amount of data you can collect is limited by the page counts set by the RightMove website, this same limitation is enforced in PropertyListings so you don't have to needlessly continue searching if all has been retrieved. It is important to note that not all sales records are visible even on the website itself, at most there is 40+ pages per search and that is around 1000 to 1100 property records.

All the filter parameters that build the search query function in a PropertyListings command can include:

  • set pages
  • set region
  • set maximum and minimum bedroom counts
  • set maximum and minimum sales price
  • select for garden
  • select for auction
  • select for retirement or filter out
  • select for parking
  • select for new build or filter out
  • select for shared ownership or filter out
  • set the max days from when the property was first added
  • set whether the property is under offer or sold

The property type, regarding apartments or detached houses, search feature is yet to be added.

An example that uses a lot of these search parameters can be found here:

propertylistings --save-file search --pages 30 --region devon --max-beds 8 --min-beds 6 --new-home, --no-retirement --offer-sold

Returning sales property records based in Devon, that has a bedroom count between 8 and 6, is a new build, is not a retirement property, and the data can also include properties under offer or already sold.

Due to the copius amounts of regions and their own subregions again, not every existing RightMove region is available directly through the PropertyListings '--region' option, although, there are plans to continue adding more batches of regions, for now London and other areas around the United Kingdom are available; however, if you cannot find yours on the list (which you find using the help example from above) you are able to add a region temporarily via the '--add-region' option of the main command, which you can see below:

propertylistings --save-file --add-region 813 search --pages 22 --max-price 750000 --max-days 7 --auction

The '813' is an example region code for RightMove that will search properties found in 'Liverpool'. With regards to the other options in this search query command, all property data returned will have a maximum price value of £750,000, will have been added within the past 7 days, and will be an auction property.

Thank you and good luck.

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

propertylistings-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

propertylistings-0.1.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file propertylistings-0.1.0.tar.gz.

File metadata

  • Download URL: propertylistings-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for propertylistings-0.1.0.tar.gz
Algorithm Hash digest
SHA256 993e7b44688a2700bff2549005ec50a6ff58918b8d450db0f8ace079b425bf80
MD5 f306ed24e43ec6f8bfd67c487f47cd61
BLAKE2b-256 04ed11d8277a5d1d3967cbe2f77d50dd71466405a73e8ba99d3c3cde0a995eb8

See more details on using hashes here.

File details

Details for the file propertylistings-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: propertylistings-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for propertylistings-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 940b318cee878e2b71339eb9fd1b86174db7ed3e3d9445fc64e4553c27e81f0b
MD5 cc1bb8a84ea275c63d0e8262b2e75daa
BLAKE2b-256 43946f49f71b8797ef252c9742383082c42916335ed009680321413a3bc3db9f

See more details on using hashes here.

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