怎么用Python抓取百度地图里的店名信息
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"怎么用Python抓取百度地图里的店名信息",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python抓取百度地图里的店名信息"吧!
千家信息网最后更新 2025年12月03日怎么用Python抓取百度地图里的店名信息
本篇内容主要讲解"怎么用Python抓取百度地图里的店名信息",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python抓取百度地图里的店名信息"吧!
代码如下:
import requests
import re
import csv
import time
def BusinessFromBaiduDitu(citycode = '287',key_word='筛网',pageno=0):
parameter = {
"newmap": "1",
"reqflag": "pcmap",
"biz": "1",
"from": "webmap",
"da_par": "direct",
"pcevaname": "pc4.1",
"qt": "con",
"c": citycode, # 城市代码 "wd": key_word, # 搜索关键词 "wd2": "",
"pn": pageno, # 页数 "nn": pageno * 10,
"db": "0",
"sug": "0",
"addr": "0",
"da_src": "pcmappg.poi.page",
"on_gel": "1",
"src": "7",
"gr": "3",
"l": "12",
"tn": "B_NORMAL_MAP", # "u_loc": "12621219.536556,2630747.285024", "ie": "utf-8", # "b": "(11845157.18,3047692.2;11922085.18,3073932.2)", #这个应该是地理位置坐标,可以忽略 "t": "1468896652886"} headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.87Safari/537.36'} url = 'http://map.baidu.com/'
htm = requests.get(url, params=parameter, headers=headers) htm = htm.text.encode('latin-1').decode('unicode_escape') # 转码 pattern = r'(?<=\baddress_norm":"\[).+?(?="ty":)' htm = re.findall(pattern, htm) # 按段落匹配 for r in htm: pattern = r'(?<=\b"\},"name":").+?(?=")' name = re.findall(pattern, r) #if not name: pattern = r'(?<=\b,"name":").+?(?=")' name = re.findall(pattern, r) #print(name[0]) # 名称 pattern = r'.+?(?=")' adr = re.findall(pattern, r) pattern = r'\(.+?\[' address = re.sub(pattern, ' ', adr[0]) pattern = r'\(.+?\]' address = re.sub(pattern, ' ', address) #print(address) # 地址 pattern = r'(?<="phone":").+?(?=")' phone = re.findall(pattern, r)
try:
if phone[0] and '",' != phone[0]: phone_list = phone[0].split(sep=',')
for number in phone_list:
if re.match('1', number): print(citycode+name[0]+','+address+','+number) writer.writerow((name[0], address, number))
except:
continue print(citycode + ' ' + key_word + ' ' + str(pageno))现在开始写我搜"丝网""筛网"(key_word)的代码获取想要的数据,也要改城市代码(citycode)城市代码文件链接
#citynumlist是百度地图城市代码列表citynumlist = ['33','34','35' ''''''''''''''''' '370','371','372']keywordlist = ['丝网','筛网']
start = time.time()
num = 1
#建立csv文件,保存数据csvFile = open(r'/Users/apple888/PycharmProjects/百度地图/Data/%s.csv' % 'CityData','a+', newline='', encoding='utf-8')writer = csv.writer(csvFile)writer.writerow(('name', 'address', 'number'))
for citycode in citynumlist:
for kw in keywordlist:
for page in range(10): BusinessFromBaiduDitu(citycode=citycode, key_word=kw, pageno=page) #防止访问频率太高,避免被百度公司封
time.sleep(1)
if num%20 == 0:
time.sleep(2)
if num0== 0:
time.sleep(3)
if num%200==0:
time.sleep(7)
num = num + 1
end = time.time()lasttime = int((end-start))print('耗时'+str(lasttime)+'s')程序运行了大约三个小时,抓取了1085条有用信息信息
到此,相信大家对"怎么用Python抓取百度地图里的店名信息"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
代码
信息
地图
城市
店名
筛网
丝网
内容
数据
文件
学习
实用
更深
三个
位置
公司
关键
关键词
兴趣
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
日本网络安全论坛
需要软件开发的人群
博赛网络技术有限公司怎么样
软件开发的绩效考核表
国家网络安全总结200字
浙江省电子口岸服务器
九江软件开发设计培训班
关于部队网络安全
杂志社网络安全制度
服务器连接数量怎么看
服务器主板改装硬盘
智车宝互联网科技
电脑和服务器如何连接
学生怎么提高网络安全的英语句子
网络安全直播课
宿豫区直销网络技术哪家好
打印机共享服务器软件
数据库系统安全性的主要技术
求生之路2服务器srv转接
秦皇岛中高服务器厂家
数据库默认设置
潍坊派森网络技术有限公司
网络安全资料黑板报内容
网络安全防护类型
海豚标志的软件开发
佛山通讯软件开发价格
药品生产企业研发数据库
网站服务器时间获取
云计算中的软件和软件开发
澳洲网络安全职业缺口