• 大小: 2KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-04
  • 语言: Python
  • 标签: python爬虫  

资源简介

百度地图商家信息爬虫,通过python来进行商家信息抓取。 抓取商家信息:名称,市,区,地址,电话,坐标(X,Y),图片路径,标签,关键字

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Spyder Editor

This is a temporary script file.
“““
import re
import time

import requests
#定义方法
key_word=input(‘输入关键字:‘)
print
City_Code=input(‘查询的城市:‘)
print
print (“爬虫开始,现在抓取“City_Code‘的数据,抓取关键字:‘key_word)
# def __init__( key_wordCity_Codepage):

# url = ‘http://api.map.baidu.com/direction/v1‘
f_path = ‘E:\\project\\logo\\‘+City_Code+key_word+‘.xls‘
f_re = open(f_path ‘w‘)  # 用到open函数

f_re.write(‘名称\t市\t区\t地址\t电话\t坐标(XY)\t图片路径\t标签\t关键字\n‘)  # 标签写入
page=0
num=0
for  i in range(19999):
    num=page*10
    # print(page)
    url = ‘http://map.baidu.com‘
    parameter = {
                “newmap“: “1“
                “reqflag“: “pcmap“
                “biz“: “1“
                “from“: “webmap“
                “da_par“: “direct“
                “pcevaname“: “pc4.1“
                “qt“: “con“
                “c“: City_Code  # 城市代码
                “wd“: key_word  # 搜索关键词
                “wd2“: ““
                “pn“: page  # 页数
                “nn“: num
                “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.5365562630747.285024“
                “ie“: “utf-8“
                # “b“: “(11845157.183047692.2;11922085.183073932.2)“  #这个应该是地理位置坐标,可以忽略
                # “b“: “(22.7734420000113.7838330000 22.3906220000 114.3794460000])“
                # “t“: “1468896652886“
            }


    url = ‘http://map.baidu.com/‘
    try:
        htm = requests.get(url params=parameter)
        htm = htm.text.encode(‘latin-1‘).decode(‘unicode_escape‘)  # 转码
        # pattern = r‘(?<=\baddress_norm“:“\[).+?(?=“ty“:)‘
        # print(htm)
        pattern = r‘(?<=acc_flag“).+?(?=“view_type“:)‘
        htm = re.findall(pattern htm)  # 按段落匹配

    except Exception as e:
        # print(“调用百度地图错误“e)
        continue
    if htm:
        try:
            for r in htm:
                # print(r)
                # 名称
                pattern = r‘(?<=“name“:“).+?(?=“)‘
                name = re.findall(pattern r)
                # print(name)
                if len(name):
                    name=name[0]

                else:name=‘-‘
                # print(‘名称‘name)
                # 地址
                pattern = r‘(?<=“addr“:“).+?(?=“)‘
                address = re.findall(pattern r)  # 地址
                if len(address): address = address[0]
                else: address=‘-‘
                pattern = r‘(?<=“area_name“:“).+?(?=“)‘
                # 区
                area_name = re.findall(pattern r)
                if len(area_name):area_name=area_name[0]
                else:area_name=‘-‘
                # 电话
                pattern = r‘(?<=“phone“:“).+?(?

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5356  2017-12-08 16:42  orgMapForBaidu.py

----------- ---------  ---------- -----  ----

                 5356                    1


评论

共有 条评论