24 lines
1.0 KiB
Python
24 lines
1.0 KiB
Python
import requests, time, sys
|
|
|
|
search_id = sys.argv[1]
|
|
max_wait = int(sys.argv[2]) if len(sys.argv) > 2 else 300
|
|
|
|
start = time.time()
|
|
while time.time() - start < max_wait:
|
|
r = requests.get(f"http://localhost:8000/api/scraper/searches/{search_id}").json()
|
|
elapsed = int(time.time() - start)
|
|
print(f"[{elapsed}s] status={r['status']} items={r['items_count']}")
|
|
if r['status'] in ('complete', 'failed'):
|
|
print(f"\nFINAL: {r['status']} items={r['items_count']}")
|
|
signals = r.get('trend_signals', [])
|
|
print(f"Signals: {signals}")
|
|
# Show items
|
|
items_r = requests.get(f"http://localhost:8000/api/scraper/searches/{search_id}/items").json()
|
|
items = items_r.get('items', [])
|
|
print(f"Items in DB: {len(items)}")
|
|
for item in items[:5]:
|
|
has_img = bool(item.get('image_path') or item.get('image_url'))
|
|
print(f" [{item['source']}] {item.get('title','')[:35]} | signal={item.get('trend_signal')} | img={'YES' if has_img else 'NO'}")
|
|
break
|
|
time.sleep(15)
|