mirror of
https://github.com/etienne-hd/lbc.git
synced 2025-12-05 09:08:10 +01:00
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""Search for professional ads on Leboncoin (example: real estate in Paris)."""
|
|
|
|
import lbc
|
|
|
|
def main() -> None:
|
|
# Initialize the Leboncoin API client
|
|
client = lbc.Client()
|
|
|
|
# Define search location: Paris with a 10 km radius
|
|
location = lbc.City(
|
|
lat=48.85994982004764,
|
|
lng=2.33801967847424,
|
|
radius=10_000, # 10 km
|
|
city="Paris"
|
|
)
|
|
|
|
# Perform a search with specific filters
|
|
result = client.search(
|
|
text="maison", # Search for houses
|
|
locations=[location], # Only in Paris
|
|
page=1,
|
|
limit=35, # Max results per page
|
|
limit_alu=0, # No auto-suggestions
|
|
sort=lbc.Sort.NEWEST, # Sort by newest ads
|
|
ad_type=lbc.AdType.OFFER, # Only offers, not searches
|
|
category=lbc.Category.IMMOBILIER, # Real estate category
|
|
owner_type=lbc.OwnerType.ALL, # All types of sellers
|
|
search_in_title_only=True, # Only search in titles
|
|
square=(200, 400), # Surface between 200 and 400 m²
|
|
price=[300_000, 700_000] # Price range in euros
|
|
)
|
|
|
|
# Display only professional ads with their legal/professional data
|
|
for ad in result.ads:
|
|
if ad.user.pro:
|
|
print(
|
|
f"Store: {ad.user.pro.online_store_name} | "
|
|
f"SIRET: {ad.user.pro.siret} | "
|
|
f"Website: {ad.user.pro.website_url or 'N/A'}"
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|