前言
这篇文章教大家怎么利用地图去获取更多的客户信息,用python爬虫跑商户的信息,然后生成excel表格,我们再去打电话询问是否需要该产品。最近做销售,需要打电话,但是这一天到晚哪有那么多客户需要打电话啊,得想办法挖掘客户,于是我调查了主要用我产品的地区,再加上某些行业,所以就想着用python去抓取公司信息,去打电话销售,然后就有了以下思路,我们还可以拓展思路,挖掘更多的行业。
实现方式
因为我所在的行业是售卖工地材料的,抗震支架材料供应商,是用在地下室通风管道,水管,线缆桥架上面的,所以我就想去挖掘相关的厂家,他们供这些货的时候就会接触到我们生产的产品,然后再考虑区域,因为有的地区是强制安装抗震支架的,我就拿北京举例吧,在房子建造完毕验收的时候是必须强制安装抗震支架的,我就可以考虑到北京的“风管生产供应厂家”“水管消防公司”“线缆桥架公司”“建筑机电有限公司”等等,作为关键词去搜索这些公司,很大概率就是我们的客户。
代码中
#(河南)cities = ['郑州市', '开封市', '洛阳市', '平顶山市', '安阳市', '鹤壁市', '新乡市', '焦作市', '濮阳市', '许昌市', '漯河市', '三门峡市', '南阳市', '商丘市', '信阳市', '周口市', '驻马店市', '济源市']
以上代码是指定的地区可以是市,可以是区,可以精准定位到自己所想开发客户的区域。
ak = "百度商户对接的key" # Replace with your own Baidu Maps AK
key换成自己对接的百度商户的key
效果图
python代码
import requests
import json
import pandas as pd
def request_hospital_data():
ak = "百度商户对接的key" # Replace with your own Baidu Maps AK
#(河南)cities = ['郑州市', '开封市', '洛阳市', '平顶山市', '安阳市', '鹤壁市', '新乡市', '焦作市', '濮阳市', '许昌市', '漯河市', '三门峡市', '南阳市', '商丘市', '信阳市', '周口市', '驻马店市', '济源市']
# (北京) cities = ['东城区', '西城区', '朝阳区', '丰台区', '石景山区', '海淀区', '门头沟区', '房山区', '通州区', '顺义区', '昌平区', '大兴区', '怀柔区', '平谷区', '密云区', '延庆区']
cities = ['东城区', '西城区', '朝阳区', '丰台区', '石景山区', '海淀区', '门头沟区', '房山区', '通州区', '顺义区', '昌平区', '大兴区', '怀柔区', '平谷区', '密云区', '延庆区']
keyword = '关键词'
items = [] # List to store all items
for city in cities:
url = f"http://api.map.baidu.com/place/v2/search?query={keyword}&page_size=20&scope=1®ion={city}&output=json&ak={ak}"
params = {'page_num': 0} # Initialize page number
try:
print(f"Fetching data for {city}...")
request = requests.get(url, params=params)
data = json.loads(request.text)
total = data['total'] # Total number of results
total_page_num = (total + 19) // 20 # Calculate total number of pages
for i in range(total_page_num):
params['page_num'] = i
request = requests.get(url, params=params)
data = json.loads(request.text)
for result in data['results']:
if 'telephone' in result:
name = result['name']
telephone = result.get('telephone', '')
province = result['province']
city = result['city']
area = result['area']
address = result['address']
new_item = (name, telephone, province, city, area, address)
items.append(new_item)
print(f" Added: {name} ({telephone})")
except Exception as e:
print(f"Error fetching data for {city}: {str(e)}")
df = pd.DataFrame(items, columns=['name', 'telephone', 'province', 'city', 'area', 'address'])
df.to_csv('文件名称.csv', index=False, mode='a', encoding='utf-8-sig')
print("Data saved to 文件名称.csv")
request_hospital_data()