昨晚看到一篇爬取百度地图信息的的代码,我更改了城市,关键词,页码等,完成了获取有关“筛网”店铺的信息。

代码如下:

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 num%100== 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抓地图_用Python抓取百度地图里的店名,地址和联系方式!屌不屌?...相关推荐

  1. python爬取地图地址_用Python抓取百度地图里的店名,地址和联系方式

    原标题:用Python抓取百度地图里的店名,地址和联系方式 每日干货好文分享丨请点击+关注 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数 ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  4. python爬取地图地址_Python爬取百度地图poi数据 !

    锵锵锵,我来啦.10天过的好快呀,4月份都已经过了三分之一,我的体重还居高不下,qwq.今天给大家分享python爬取百度地图小区的数据,希望大家看后,可以尝试自己编写爬取自己所在市的中学,公园,银行 ...

  5. Python爬取百度地图智慧交通-城市拥堵指数

    第一次写文章 分享一下我的大数据处理课程的一次作业,爬取百度地图智慧交通的城市拥堵指数内容,链接(以长春市为例):http://jiaotong.baidu.com/top/report/?cityc ...

  6. Python之爬取百度地图兴趣点(POI)数据

    关于爬虫系列,前三篇文章分别讲了三个简单案例,分别爬取了<你好,李焕英>电影豆瓣热门短评.58同城在售楼盘房源信息以及安居客网二手房小区详情页数据.通过前三个案例,相信大家都对爬虫有了简单 ...

  7. Python爬取百度地图的瓦片图

    Python爬取百度地图的瓦片图 需求 代码 爬虫结果 需求 采用Python + Selenium + phantomJs,自动爬取百度地图的栅格图(瓦片图),支持自定义区域.级别.无文字地图. 去 ...

  8. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  10. 抓取百度地图瓦片(离线GIS)

    项目需要用到离线GIS,研究了一下,做个记录 需要百度离线api的js 参考: 于忠达 https://my.oschina.net/smzd/blog/548538 giao00000 https: ...

最新文章

  1. JAVA SE学习day_05: IO与流操作
  2. Windows 用来定位 DLL 的搜索路径
  3. Spark action算子案例
  4. C++一天一个程序(二)
  5. NET Framework 安装时出现错误无法安装
  6. 遇见 | 大咖:对话Oracle北美数据库研发领袖,你来不来?
  7. 信息化项目甲方采购的准备与实施
  8. Java基础学习总结(143)——SimpleDateFormat线程安全问题重现、原因分析及解决方案
  9. 阅读软件怎么添加书源_相册视频制作软件怎么用?怎么添加滤镜?
  10. python报表自动化系列 - 计算某年某个月的天数
  11. 微创器械行业调研报告 - 市场现状分析与发展前景预测
  12. 记住三句话,就会用双拼(韵母键快速记忆口诀)
  13. 排队系统拥塞控制的位置
  14. discuz 模板标签
  15. php使用nltk,mac 安装nltk, 并解决nltk.download()出错问题
  16. 网页收录数量与网站排名有关系吗?
  17. JS原型和原型链是什么?
  18. mac 安装vue全网最详细教程
  19. [ProblemSolving]fancycache检测并利用系统未识别内存
  20. 30-基于单片机的跑马灯设计

热门文章

  1. Codeforces 630K
  2. win7如何更改文件类型_如何给Word、Excel、PPT文件加密?方法很简单,不用怕资料被盗了...
  3. Qt Quick实现国际化 中英文切换简明图文步骤
  4. GUSHI:互联网+汽车创业机会在哪儿
  5. 盛世昊通联合买旺汽贸,重磅推出思皓新能源车系列
  6. Microsoft Outlook2007 设置
  7. Outlook2007设置手册
  8. confirm的用法
  9. QQ空间注销了——2012年5月22日 23:06:25
  10. 收到礼品,拿出来Show一下.