scrape_google_maps.py
entry point
30 steps
Apify
cli: __main__ guard
cli: argparse
This automation uses the Apify service to search Google Maps and collect business information. It gathers details such as business names, addresses, phone numbers, and websites, then saves this data for your review.
Flow
Click any step to see details
graph TB
subgraph n_scrape_google_maps_scrape_google_maps["scrape_google_maps()"]
n_scrape_google_maps_42{"if not api_token"}:::decision
n_scrape_google_maps_43(["Output: print()"]):::output
n_scrape_google_maps_50{"if location and location.lower() not in search_query.lower()"}:::decision
n_scrape_google_maps_50[["Transform: .lower()"]]:::transform
n_scrape_google_maps_50[["Transform: .lower()"]]:::transform
n_scrape_google_maps_61(["Output: print()"]):::output
n_scrape_google_maps_63{"try/except block"}:::decision
n_scrape_google_maps_66(["Output: print()"]):::output
n_scrape_google_maps_69{"if not run"}:::decision
n_scrape_google_maps_70(["Output: print()"]):::output
n_scrape_google_maps_73(["Output: print()"]):::output
n_scrape_google_maps_76{"for item in client.dataset(run['defaultDatasetId']).itera..."}:::decision
n_scrape_google_maps_77[["Transform: .append()"]]:::transform
n_scrape_google_maps_79(["Output: print()"]):::output
n_scrape_google_maps_79[["Transform: len()"]]:::transform
n_scrape_google_maps_42 --> n_scrape_google_maps_43
n_scrape_google_maps_43 --> n_scrape_google_maps_50
n_scrape_google_maps_50 --> n_scrape_google_maps_50
n_scrape_google_maps_50 --> n_scrape_google_maps_50
n_scrape_google_maps_50 --> n_scrape_google_maps_61
n_scrape_google_maps_61 --> n_scrape_google_maps_63
n_scrape_google_maps_63 --> n_scrape_google_maps_66
n_scrape_google_maps_66 --> n_scrape_google_maps_69
n_scrape_google_maps_69 --> n_scrape_google_maps_70
n_scrape_google_maps_70 --> n_scrape_google_maps_73
n_scrape_google_maps_73 --> n_scrape_google_maps_76
n_scrape_google_maps_76 --> n_scrape_google_maps_77
n_scrape_google_maps_77 --> n_scrape_google_maps_79
n_scrape_google_maps_79 --> n_scrape_google_maps_79
end
subgraph n_scrape_google_maps_save_results["save_results()"]
n_scrape_google_maps_85{"if not results"}:::decision
n_scrape_google_maps_86(["Output: print()"]):::output
n_scrape_google_maps_95[/"File: open()"/]:::fileio
n_scrape_google_maps_96[/"File: json.dump()"/]:::fileio
n_scrape_google_maps_98(["Output: print()"]):::output
n_scrape_google_maps_85 --> n_scrape_google_maps_86
n_scrape_google_maps_86 --> n_scrape_google_maps_95
n_scrape_google_maps_95 --> n_scrape_google_maps_96
n_scrape_google_maps_96 --> n_scrape_google_maps_98
end
subgraph n_scrape_google_maps_main["main()"]
n_scrape_google_maps_120{"if not results"}:::decision
n_scrape_google_maps_121(["Output: print()"]):::output
n_scrape_google_maps_124{"if args.json"}:::decision
n_scrape_google_maps_125(["Output: print()"]):::output
n_scrape_google_maps_125[["Transform: .dumps()"]]:::transform
n_scrape_google_maps_128{"if filename"}:::decision
n_scrape_google_maps_129(["Output: print()"]):::output
n_scrape_google_maps_131{"for key in ['title', 'address', 'phone', 'website', 'cate..."}:::decision
n_scrape_google_maps_132{"if key in sample"}:::decision
n_scrape_google_maps_133(["Output: print()"]):::output
n_scrape_google_maps_120 --> n_scrape_google_maps_121
n_scrape_google_maps_121 --> n_scrape_google_maps_124
n_scrape_google_maps_124 --> n_scrape_google_maps_125
n_scrape_google_maps_125 --> n_scrape_google_maps_125
n_scrape_google_maps_125 --> n_scrape_google_maps_128
n_scrape_google_maps_128 --> n_scrape_google_maps_129
n_scrape_google_maps_129 --> n_scrape_google_maps_131
n_scrape_google_maps_131 --> n_scrape_google_maps_132
n_scrape_google_maps_132 --> n_scrape_google_maps_133
end
click n_scrape_google_maps_42 call showStepDetail("scrape_google_maps.py", 42)
click n_scrape_google_maps_43 call showStepDetail("scrape_google_maps.py", 43)
click n_scrape_google_maps_50 call showStepDetail("scrape_google_maps.py", 50)
click n_scrape_google_maps_50 call showStepDetail("scrape_google_maps.py", 50)
click n_scrape_google_maps_50 call showStepDetail("scrape_google_maps.py", 50)
click n_scrape_google_maps_61 call showStepDetail("scrape_google_maps.py", 61)
click n_scrape_google_maps_63 call showStepDetail("scrape_google_maps.py", 63)
click n_scrape_google_maps_66 call showStepDetail("scrape_google_maps.py", 66)
click n_scrape_google_maps_69 call showStepDetail("scrape_google_maps.py", 69)
click n_scrape_google_maps_70 call showStepDetail("scrape_google_maps.py", 70)
click n_scrape_google_maps_73 call showStepDetail("scrape_google_maps.py", 73)
click n_scrape_google_maps_76 call showStepDetail("scrape_google_maps.py", 76)
click n_scrape_google_maps_77 call showStepDetail("scrape_google_maps.py", 77)
click n_scrape_google_maps_79 call showStepDetail("scrape_google_maps.py", 79)
click n_scrape_google_maps_79 call showStepDetail("scrape_google_maps.py", 79)
click n_scrape_google_maps_85 call showStepDetail("scrape_google_maps.py", 85)
click n_scrape_google_maps_86 call showStepDetail("scrape_google_maps.py", 86)
click n_scrape_google_maps_95 call showStepDetail("scrape_google_maps.py", 95)
click n_scrape_google_maps_96 call showStepDetail("scrape_google_maps.py", 96)
click n_scrape_google_maps_98 call showStepDetail("scrape_google_maps.py", 98)
click n_scrape_google_maps_120 call showStepDetail("scrape_google_maps.py", 120)
click n_scrape_google_maps_121 call showStepDetail("scrape_google_maps.py", 121)
click n_scrape_google_maps_124 call showStepDetail("scrape_google_maps.py", 124)
click n_scrape_google_maps_125 call showStepDetail("scrape_google_maps.py", 125)
click n_scrape_google_maps_125 call showStepDetail("scrape_google_maps.py", 125)
click n_scrape_google_maps_128 call showStepDetail("scrape_google_maps.py", 128)
click n_scrape_google_maps_129 call showStepDetail("scrape_google_maps.py", 129)
click n_scrape_google_maps_131 call showStepDetail("scrape_google_maps.py", 131)
click n_scrape_google_maps_132 call showStepDetail("scrape_google_maps.py", 132)
click n_scrape_google_maps_133 call showStepDetail("scrape_google_maps.py", 133)
classDef api fill:#dbeafe,stroke:#2563eb,color:#1e3a5f
classDef fileio fill:#dcfce7,stroke:#16a34a,color:#14532d
classDef dbop fill:#f3e8ff,stroke:#9333ea,color:#3b0764
classDef decision fill:#ffedd5,stroke:#ea580c,color:#7c2d12
classDef output fill:#f3f4f6,stroke:#6b7280,color:#1f2937
classDef transform fill:#ccfbf1,stroke:#0d9488,color:#134e4a
classDef entry fill:#dcfce7,stroke:#16a34a,stroke-width:3px,color:#14532d
classDef compact fill:#f0f4ff,stroke:#6366f1,color:#312e81,stroke-width:2px
API Call
File I/O
Database
Decision
Output
Transform
All Steps
Step Detail
Select a step from the diagram or list to see its details.
Services
- Apify (apify_client)
Secrets
- APIFY_API_TOKEN
Imports
External
- apify_client
- argparse
- datetime
- dotenv
- json
- os
- sys