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