在网上找了很多关于爬取百度POI的文章,但是对“全量”的做法并没有得到最终的解决方案,自己写了一个,但还是不能实现全量POI抓取,能够达到至少50%的信息抓取。
注意:这里所指“全量”是能够达到100%的POI信息获取。
以下是自己写的代码可直接复制粘贴使用,只针对重庆主城区的。
# -*- coding: utf-8 -*- #-----------------采集全重庆范围内的POI兴趣点------------------- import requests import json import xlrd import pandas as pd import pymysql import time def sleeptime(day=1): # 默认参数智能放最后 return day * 24 * 3600 def get_Region(): #'重庆市渝中区', region = ['重庆市渝中区','重庆市江北区','重庆市渝北区','重庆市沙坪坝区','重庆市九龙坡区', '重庆市南岸区','重庆市巴南区','重庆市北碚区','重庆市大渡口区'] lng_lat = {'重庆市渝中区':'29.525375,106.494032,29.582745,106.602727', #重庆市渝中区的矩形区域左下角和右上角的经纬度(可参看百度文档对矩形区域的解释) '重庆市江北区':'29.571878,106.440282,29.689841,106.896587', #左下:106.440282,29.571878 '重庆市渝北区':'29.575192,106.434211,30.051651,106.993128', #右上106.993128,30.051651 '重庆市沙坪坝区':'29.497572,106.261671,29.755899,106.51607', #106.275683,29.497572 '重庆市九龙坡区': '29.248442,106.275683,29.574961,106.553261', '重庆市南岸区':'29.476615,106.542511,29.614757,106.803882', '重庆市巴南区':'29.118686,106.520931,29.735054,107.062741', '重庆市北碚区':'29.66131,106.29192,30.109513,106.720972', '重庆市大渡口区':'29.344094,106.403174,29.509104,106.532859'} #'重庆市渝中区':'29.525375,106.494032,29.582745,106.602727', #右上 106.597337,29.578724 # '重庆市江北区':'29.571878,106.440282,29.689841,106.896587', #左下:106.440282,29.571878 # '重庆市渝北区':'29.575192,106.434211,30.051651,106.993128', #右上106.993128,30.051651 # '重庆市沙坪坝区':'29.497572,106.261671,29.755899,106.51607', #106.275683,29.497572 #'重庆市九龙坡区':'29.248442,106.275683,29.574961,106.553261'#, #106.275683,29.248442,106.553261,29.574961 # '重庆市南岸区':'29.476615,106.542511,29.614757,106.803882', # '重庆市巴南区':'29.118686,106.520931,29.735054,107.062741', # '重庆市北碚区':&#