feat: Agente-Marketing initial commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import requests, json, re
|
||||
|
||||
headers = {
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36",
|
||||
"Accept": "application/json, text/plain, */*",
|
||||
"Accept-Language": "en-US,en;q=0.9",
|
||||
"Referer": "https://www.redfin.com/",
|
||||
}
|
||||
|
||||
# Test the correct Redfin GIS endpoint that was working before
|
||||
print("=== Redfin GIS with region_id ===")
|
||||
try:
|
||||
r = requests.get(
|
||||
"https://www.redfin.com/stingray/api/gis?al=1&market=florida"
|
||||
"®ion_id=14146®ion_type=6&status=9&uipt=1,2,3,4"
|
||||
"&max_price=230000&num_homes=5&start=0&v=8",
|
||||
headers=headers, timeout=15
|
||||
)
|
||||
print(f"Status: {r.status_code}")
|
||||
raw = r.text.replace("{}&&", "")
|
||||
data = json.loads(raw)
|
||||
homes = data.get("payload", {}).get("homes", [])
|
||||
print(f"Homes: {len(homes)}")
|
||||
for h in homes[:3]:
|
||||
print(f" ${h.get('price',{}).get('value',0):,} | {h.get('streetLine',{}).get('value','?')}, {h.get('city','?')} {h.get('zip','')}")
|
||||
except Exception as e:
|
||||
print(f"ERROR: {e}")
|
||||
|
||||
# Try finding region IDs for our cities
|
||||
print("\n=== Finding region IDs ===")
|
||||
cities = ["Vero Beach", "Melbourne", "Jacksonville", "Stuart", "Daytona Beach"]
|
||||
for city in cities:
|
||||
try:
|
||||
r = requests.get(
|
||||
f"https://www.redfin.com/stingray/do/location-autocomplete?location={requests.utils.quote(city + ' FL')}&count=3&v=2",
|
||||
headers=headers, timeout=10
|
||||
)
|
||||
print(f" {city}: status={r.status_code}, len={len(r.text)}")
|
||||
raw = r.text.replace("{}&&", "")
|
||||
if raw.strip():
|
||||
data = json.loads(raw)
|
||||
rows = data.get("payload", {}).get("sections", [{}])[0].get("rows", [])
|
||||
for row in rows[:2]:
|
||||
print(f" -> id={row.get('id')}, type={row.get('type')}, name={row.get('name')}")
|
||||
except Exception as e:
|
||||
print(f" {city}: ERROR {e}")
|
||||
|
||||
# Try Redfin search API directly
|
||||
print("\n=== Redfin /stingray/api/gis-search ===")
|
||||
try:
|
||||
r = requests.get(
|
||||
"https://www.redfin.com/stingray/api/gis-search?"
|
||||
"al=1&market=florida®ion_id=19073®ion_type=6"
|
||||
"&status=9&uipt=1,2,3,4&max_price=230000&num_homes=10&start=0&v=8",
|
||||
headers=headers, timeout=15
|
||||
)
|
||||
print(f"Status: {r.status_code}, size: {len(r.text)}")
|
||||
print(r.text[:400])
|
||||
except Exception as e:
|
||||
print(f"ERROR: {e}")
|
||||
Reference in New Issue
Block a user