-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlead_generator.py
More file actions
52 lines (38 loc) · 1.52 KB
/
lead_generator.py
File metadata and controls
52 lines (38 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import requests
import pandas as pd
def fetch_real_data():
url = "https://api.openbrewerydb.org/v1/breweries?per_page=35"
response = requests.get(url)
raw_data = response.json()
leads_list = []
for item in raw_data:
name = item.get("name", "Unknown")
website = item.get("website_url")
location = str(item.get("city")) + ", " + str(item.get("state"))
if website:
domain = str(website).replace("http://", "").replace("https://", "").replace("www.", "").split("/")[0]
email = f"info@{domain}"
else:
email = None
leads_list.append({
"Name": name,
"Email": email,
"Website/LinkedIn": website,
"Location": location
})
leads_list.append(leads_list[0])
return leads_list
def process_and_export(data):
df = pd.DataFrame(data)
df = df.drop_duplicates()
df['Email'] = df['Email'].fillna("Not Available")
df['Website/LinkedIn'] = df['Website/LinkedIn'].fillna("N/A")
email_drafts = []
for index, row in df.iterrows():
draft = f"Hi Team at {row['Name']},\nWe have tools that can boost your business in {row['Location']}.\nLet's connect!\nBest,\nSorif Hossain"
email_drafts.append(draft)
df['Email_Draft'] = email_drafts
df.to_excel("Sample_Output.xlsx", index=False)
if __name__ == "__main__":
collected_data = fetch_real_data()
process_and_export(collected_data)