爬取百度地图店家信息

2023-05-16

本文旨在交流学习,勿作他用,否则后果自负

import json
import csv
import random
import requests
import pandas as pd
USER_AGENTS = [
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1",
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0",
    "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5",
    "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20",
    "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER",
    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 LBBROWSER",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",
    "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b13pre) Gecko/20110307 Firefox/4.0b13pre",
    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11",
    "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10"
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
    "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)",
    "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",
    "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)",
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)",
    "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6",
]

HEADER = {
    'User-Agent': random.choice(USER_AGENTS),
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Connection': 'keep-alive',
    'Accept-Encoding': 'gzip, deflate',
}

#输入地名和要查询的关键词
region=input("输入你要查找的地区名(市级如青岛市)=")
keyword=input('输入你要查询的关键词(如美食)=')
#读取本地百度地图城市编码api文档,匹配对应地址编码
try:
    cod_data=pd.DataFrame(pd.read_csv('/media/liu/_dde_data/project/spider/百度地图/BaiduMap_cityCod.txt',engine="python"))
    b=cod_data[cod_data["name"] == region]
    cod=int(b['area_id'])
#构造请求头信息,请求数据
    for j in range(0,2000):
        parameter={
        'newmap':'1',
        'reqflag':'pcmap',
        'biz':'1',
        'da_par':'direct',
        'pcevaname':'pc4.1',
        'qt':'spot',
        'from':'webmap',
        'c':'{}'.format(cod),
        'wd':'{}'.format(keyword),
        'wd2':'',
        'pn':'{}'.format(j),
        'nn':'{}'.format(j*10),
        'db':'0',
        'sug':'0',
        'addr':'0',
        'da_src':'pcmappg.poi.page',
        'on_gel':'1',
        'src':'7',
        'gr':'3',
        'l':'13',
        'rn':'50',
        'tn':'B_NORMAL_MAP',
        'auth':'LNEWRyAfPy9XS=XJXX1V@4IXeOyRe4AJuxHRNNxxBNVtAmk5zC88ycvY1SGpuztFHhxQ7E@Z5Z3@wWv1cv3uVtGccZcuVtPWv3GuVtPYIuVtUvhgMZSguxzBEHLNRTVtcEWe1GD8zv7u@ZPuVteuxtf0wd0vyISOOyyCMUumqQQD=CrZZWuV',
        'ie':'utf-8',
        't':'1587711370713',
        }
        url = 'http://map.baidu.com/'
        #拿到响应信息,提取目标信息
        d = requests.get(url=url, headers=HEADER, params=parameter,timeout=50)
        da = bytes(d.text,d.encoding).decode('utf-8', 'ignore')
        respon=json.loads(da)
        if respon.get('content','notfound')!='notfound':
            data_list=respon['content']
            for i in data_list:
                address=i.get('addr','notfound')
                name=i.get('name','notfound')
                tel=i.get('tel','notfound')
                print(name,tel,address)
                #信息写入本地文件
                with open('/media/liu/_dde_data/project/spider/百度地图/' + region+keyword + '.csv', 'a+') as f:
                    f_csv = csv.writer(f)
                    f_csv.writerow([name,tel,address])
        else:
            print('+++++++++++++++共{}页数据+++++++++++++++++++++'.format(j))
            break

except:
    print("输入有误,请重新输入")


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

爬取百度地图店家信息 的相关文章

随机推荐

  • 完美解决Windows用户下lumerical(FDTD)的python库lumopt安装方法

    参考链接 xff1a lumerical配合pycharm使用python联合开发的问题 FDTD的python接口使用 github lumopt 个人所写相关博客园链接 xff08 如果想要了解更多关于python xff0c anac
  • RUST 笔记(一)

    记录在学习的过程中rust语言和java js相似的地方 以及rust的特性 引用外部包 xff1a extern crate rand crate 代表依赖 xff0c rand 是依赖名称引用内部默认包 xff1a use std io
  • 机器学习期末考试满分试卷答案

    黄海广老师 机器学习 机器学习期末考试 得分 xff1a 100分 欢迎讨论评论 1 单选 2分 一监狱人脸识别准入系统用来识别待进入人员的身份 xff0c 此系统一共包括识别4种不同的人员 xff1a 狱警 xff0c 小偷 xff0c
  • 进化算法之粒子群算法和Matlab实现(多维)

    转自 xff1a https blog csdn net DBLLLLLLLL article details 82965722 粒子群算法进阶讲解传送门 xff1a https blog csdn net DBLLLLLLLL artic
  • matlab中ln、lg函数怎么表示

    我们首先需要知道在matlab中Ln x 表示成了log x xff0c lg x 表示成log10 x xff0c 如下图所示 xff1a 我们可以在matlab命令行窗口中输入 help log xff0c 可以看到关于log函数的介绍
  • MATLAB 中 if 语句中如何表示并列条件

    matlab中的条件 amp amp 表示 and 表示 or至于一个 amp 和 是逻辑操作运算 别搞混了 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • tensorflow中使用Adam出现name ‘Adam‘ is not defined【转】

    转自Colab中使用Adam出现name Adam is not defined 错误场景 在本地运行正常 xff0c 之前在tensorflow上运行也正常 xff1b 之后重新运行colab上的代码 xff0c 出现如下错误 xff1a
  • Linux 安装 miniconda

    1 安装miniconda 1 百度输入miniconda 找到miniconda 如下图第一个链接 2 找到linux版本的miniconda 此处我要安装Python3 7版本的Linux下的miniconda 3 复制下载链接 如下
  • Linux将一个文件夹或文件夹下的所有内容复制或移动到另一个文件夹

    1 将一个文件夹下的所有内容复制到另一个文件夹下 cp r home packageA home cp packageB 或 cp r home packageA home cp packageB 这两种方法效果是一样的 方法示例 xff1
  • 算法网址

    九章算法 xff1a https www jiuzhang com Lintcode xff1a https www lintcode com Leetcode xff1a https leetcode com CodeTop xff1a
  • Datawhale跟李沐大神合作举办 (动手学深度学习) !

    三月的组队学习跟李沐大神合作举办 动手学深度学习 xff0c 欢迎感兴趣的小伙伴报名学习 xff0c 另外 xff0c 欢迎志同道合的小伙伴了解 加入Datawhale 跟李沐导师 xff1a 动手学深度学习 xff01 动手学深度学习 P
  • 期刊会议名缩写查询-1

    投往IEEE transactions的论文 xff0c 其中的参考文献格式都是采用会议期刊的缩写 本博客特此记录如何查询期刊和会议名的缩写问题 期刊名缩写 SCI论文的参考文献很多期刊名都是缩写 xff0c 如下图所示 在写论文时 xff
  • Linux从用户层到内核层系列 - GNU系列之你所不知道的printf

    题记 xff1a 本系列文章的目的是抛开书本从源代码和使用的角度分析Linux内核和相关源代码 xff0c byhankswang和你一起玩转linux开发 轻松搞定TCP IP协议栈 xff0c 原创文章欢迎交流 byhankswang
  • 第十一届蓝桥杯python组第二场省赛-排序

    1 问题描述 xff1a 小蓝最近学习了一些排序算法 xff0c 其中冒泡排序让他印象深刻 在冒泡排序中 xff0c 每次只能交换相邻的两个元素 小蓝发现 xff0c 如果对一个字符串中的字符排序 xff0c 只允许交换相邻的两个字符 xf
  • 4306 序列处理(贪心)

    1 问题描述 xff1a 给定一个长度为 n 的整数序列 a1 xff0c a2 xff0c xff0c an 我们可以对该序列进行修改操作 xff0c 每次操作选中其中一个元素 xff0c 并使其增加 1 现在 xff0c 请你计算要使得
  • python数据分析基础-datafrom基础属性

    linux 43 pycharm 43 anaconda span class token keyword import span pandas span class token keyword as span pd data1 span
  • python数据分析基础-series基本统计运算,数据运算和比较运算

    linux 43 pycharm 43 anaconda 96 span class token comment 两个series数据运算 43 span num span class token operator 61 span pd s
  • python数据分析-柱状图绘制及常用参数设置

    linux 43 pycharm 43 anaconda span class token comment 柱形图绘制与参数设置 span span class token comment plt bar x height width bo
  • 爬取西窗烛app

    本文旨在学习 xff0c 不可做商业用途 span class token keyword import span csv span class token keyword import span json span class token
  • 爬取百度地图店家信息

    本文旨在交流学习 xff0c 勿作他用 xff0c 否则后果自负 span class token keyword import span json span class token keyword import span csv span