A library that enables programmatic interaction with daft.ie.
Project description
# Daftlistings
Python library that enables Programmatic interaction with [Daft.ie](https://daft.ie)
## Installation
daftlistings is available on the Python Package Index (PyPI). You can install daftlistings using pip.
``` bash
virtualenv env
source env/bin/activate
pip install daftlistings
```
To install the development version, run:
``` bash
pip install https://github.com/AnthonyBloomer/daftlistings/archive/dev.zip
```
## Examples
Get apartments to let in Dublin City that are between €1000 and €1500 and contact the advertiser of each listing.
``` python
from daftlistings import Daft, RentType
daft = Daft()
daft.set_county("Dublin City")
daft.set_listing_type(RentType.APARTMENTS)
daft.set_min_price(1000)
daft.set_max_price(1500)
listings = daft.search()
if len(listings) > 0:
first = listings[0]
contact = first.contact_advertiser(
name="Jane Doe",
contact_number="019202222",
email="jane@example.com",
message="Hi, I seen your listing on daft.ie and I would like to schedule a viewing."
)
if contact:
print("Advertiser contacted")
```
You can sort the listings by price, distance, upcoming viewing or date using the SortType object. The SortOrder object allows you to sort the listings descending or ascending.
``` python
from daftlistings import Daft, SortOrder, SortType, RentType
daft = Daft()
daft.set_county("Dublin City")
daft.set_listing_type(RentType.ANY)
daft.set_sort_order(SortOrder.ASCENDING)
daft.set_sort_by(SortType.PRICE)
daft.set_max_price(2500)
listings = daft.search()
for listing in listings:
print(listing.formalised_address)
print(listing.daft_link)
print(listing.price)
features = listing.features
if features is not None:
print('Features: ')
for feature in features:
print(feature)
print("")
```
Parse listing data from a given search result url.
``` python
from daftlistings import Daft
offset = 0
while 1:
daft = Daft()
daft.set_result_url("https://www.daft.ie/dublin-city/new-homes-for-sale/?ad_type=new_development")
daft.set_offset(offset)
listings = daft.search()
if not listings:
break
for listing in listings:
print(listing.formalised_address)
print(listing.price)
print(' ')
offset += 10
```
Find student accommodation near UCD that is between 850 and 1000 per month
``` python
from daftlistings import Daft, SortOrder, SortType, RentType, University, StudentAccommodationType
daft = Daft()
daft.set_listing_type(RentType.STUDENT_ACCOMMODATION)
daft.set_university(University.UCD)
daft.set_student_accommodation_type(StudentAccommodationType.ROOMS_TO_SHARE)
daft.set_min_price(850)
daft.set_max_price(1000)
daft.set_sort_by(SortType.PRICE)
daft.set_sort_order(SortOrder.ASCENDING)
daft.set_offset(offset)
listings = daft.search()
for listing in listings:
print(listing.price)
print(listing.formalised_address)
print(listing.daft_link)
```
## Documentation
The documentation has been created using [mkdocs](http://www.mkdocs.org/) and the [mkdocs material theme](https://squidfunk.github.io/mkdocs-material/). To update the documentation, clone the repository and edit the markdown files in the docs/ directory.
To view your changes, run:
``` bash
mkdocs serve
```
To build and publish the documentation, run:
``` bash
sh deploy_docs.sh "Updating documentation"
```
## Tests
The Python unittest module contains its own test discovery function, which you can run from the command line:
```
python -m unittest discover tests/
```
## Contributing
- Fork the project and clone locally.
- Create a new branch for what you're going to work on.
- Push to your origin repository.
- Create a new pull request in GitHub.
Python library that enables Programmatic interaction with [Daft.ie](https://daft.ie)
## Installation
daftlistings is available on the Python Package Index (PyPI). You can install daftlistings using pip.
``` bash
virtualenv env
source env/bin/activate
pip install daftlistings
```
To install the development version, run:
``` bash
pip install https://github.com/AnthonyBloomer/daftlistings/archive/dev.zip
```
## Examples
Get apartments to let in Dublin City that are between €1000 and €1500 and contact the advertiser of each listing.
``` python
from daftlistings import Daft, RentType
daft = Daft()
daft.set_county("Dublin City")
daft.set_listing_type(RentType.APARTMENTS)
daft.set_min_price(1000)
daft.set_max_price(1500)
listings = daft.search()
if len(listings) > 0:
first = listings[0]
contact = first.contact_advertiser(
name="Jane Doe",
contact_number="019202222",
email="jane@example.com",
message="Hi, I seen your listing on daft.ie and I would like to schedule a viewing."
)
if contact:
print("Advertiser contacted")
```
You can sort the listings by price, distance, upcoming viewing or date using the SortType object. The SortOrder object allows you to sort the listings descending or ascending.
``` python
from daftlistings import Daft, SortOrder, SortType, RentType
daft = Daft()
daft.set_county("Dublin City")
daft.set_listing_type(RentType.ANY)
daft.set_sort_order(SortOrder.ASCENDING)
daft.set_sort_by(SortType.PRICE)
daft.set_max_price(2500)
listings = daft.search()
for listing in listings:
print(listing.formalised_address)
print(listing.daft_link)
print(listing.price)
features = listing.features
if features is not None:
print('Features: ')
for feature in features:
print(feature)
print("")
```
Parse listing data from a given search result url.
``` python
from daftlistings import Daft
offset = 0
while 1:
daft = Daft()
daft.set_result_url("https://www.daft.ie/dublin-city/new-homes-for-sale/?ad_type=new_development")
daft.set_offset(offset)
listings = daft.search()
if not listings:
break
for listing in listings:
print(listing.formalised_address)
print(listing.price)
print(' ')
offset += 10
```
Find student accommodation near UCD that is between 850 and 1000 per month
``` python
from daftlistings import Daft, SortOrder, SortType, RentType, University, StudentAccommodationType
daft = Daft()
daft.set_listing_type(RentType.STUDENT_ACCOMMODATION)
daft.set_university(University.UCD)
daft.set_student_accommodation_type(StudentAccommodationType.ROOMS_TO_SHARE)
daft.set_min_price(850)
daft.set_max_price(1000)
daft.set_sort_by(SortType.PRICE)
daft.set_sort_order(SortOrder.ASCENDING)
daft.set_offset(offset)
listings = daft.search()
for listing in listings:
print(listing.price)
print(listing.formalised_address)
print(listing.daft_link)
```
## Documentation
The documentation has been created using [mkdocs](http://www.mkdocs.org/) and the [mkdocs material theme](https://squidfunk.github.io/mkdocs-material/). To update the documentation, clone the repository and edit the markdown files in the docs/ directory.
To view your changes, run:
``` bash
mkdocs serve
```
To build and publish the documentation, run:
``` bash
sh deploy_docs.sh "Updating documentation"
```
## Tests
The Python unittest module contains its own test discovery function, which you can run from the command line:
```
python -m unittest discover tests/
```
## Contributing
- Fork the project and clone locally.
- Create a new branch for what you're going to work on.
- Push to your origin repository.
- Create a new pull request in GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
daftlistings-1.6.1.tar.gz
(12.2 kB
view hashes)
Built Distribution
Close
Hashes for daftlistings-1.6.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 825d81e41e63e85f8b47fcc4832a4ebbbf51001e5ac12adbca8affe6aca91414 |
|
MD5 | 76b1b1287bfd52ed8edf6def6510f785 |
|
BLAKE2b-256 | 00aa5838f46fac931fd73626ae8124bec7e6d426973403ccc4f68955a732b5b6 |