48
48
wgs84togcj02
49
49
)
50
50
51
+ headers = {
52
+ 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' ,
53
+ }
51
54
52
55
def getadmin (keyword , ak , jscode = '' , subdistricts = False , timeout = 20 ):
53
56
'''
@@ -96,7 +99,7 @@ def getadmin(keyword, ak, jscode='', subdistricts=False, timeout=20):
96
99
'sdkversion' : '1.4.10'
97
100
}
98
101
# 发送请求
99
- response = requests .get (url ,params = dict1 ,timeout = timeout )
102
+ response = requests .get (url ,params = dict1 ,timeout = timeout , headers = headers )
100
103
result = json .loads (response .text )
101
104
if result ['info' ] == 'INVALID_USER_SCODE' :
102
105
raise ValueError ('缺少jscode,请将高德开放平台Key中的安全密钥以jscode参数的形式传入该方法' ) # pragma: no cover
@@ -181,7 +184,8 @@ def getbusdata(city, keywords, accurate=True, timeout=20):
181
184
def getlineuid (keyword , c , acc = True ):
182
185
url = 'http://map.baidu.com/?qt=s&wd=' + \
183
186
urllib .parse .quote (keyword )+ '&c=' + c + '&from=webmap'
184
- response = requests .get (url )
187
+ response = requests .get (url , timeout = timeout ,headers = headers )
188
+
185
189
searchinfo = json .loads (response .text )
186
190
try :
187
191
res = pd .DataFrame (searchinfo ['content' ])
@@ -197,13 +201,13 @@ def getlineuid(keyword, c, acc=True):
197
201
198
202
def getcitycode (c ):
199
203
url = 'http://map.baidu.com/?qt=s&wd=' + urllib .parse .quote (c )
200
- response1 = requests .get (url , timeout = timeout )
204
+ response1 = requests .get (url , timeout = timeout , headers = headers )
201
205
searchinfo = json .loads (response1 .text )
202
206
return str (searchinfo ['content' ]['code' ])
203
207
204
208
def getlinegeo (uid , c ):
205
209
url = 'http://map.baidu.com/?qt=bsl&uid=' + uid + '&c=' + c + "&auth=1"
206
- response1 = requests .get (url , timeout = timeout )
210
+ response1 = requests .get (url , timeout = timeout , headers = headers )
207
211
searchinfo = json .loads (response1 .text )
208
212
linename = searchinfo ['content' ][0 ]['name' ]
209
213
stations = searchinfo ['content' ][0 ]['stations' ]
@@ -247,8 +251,9 @@ def coodconvert(coo):
247
251
if type (keywords ) != list :
248
252
keywords = [str (keywords )] # pragma: no cover
249
253
for keyword in keywords :
250
- print (keyword )
254
+ print ('Get bus data: ' + str ( keyword ) )
251
255
for uid in getlineuid (keyword , c , accurate ):
256
+
252
257
if uid not in uids :
253
258
try :
254
259
linename , coo , stationnames , stationgeo = getlinegeo (
@@ -334,7 +339,7 @@ def get_isochrone_amap(lon, lat, reachtime, ak, jscode='', mode=2, timeout=20):
334
339
'extensions' : 'all' ,
335
340
'strategy' : str (strategy )
336
341
}
337
- response = requests .get (url ,params = dict1 ,timeout = timeout )
342
+ response = requests .get (url ,params = dict1 ,timeout = timeout , headers = headers )
338
343
result = json .loads (response .text )
339
344
340
345
P_all = []
@@ -389,7 +394,7 @@ def get_isochrone_mapbox(lon, lat, reachtime, access_token='auto',
389
394
url = 'https://api.mapbox.com/isochrone/v1/mapbox/' + mode + '/' + \
390
395
str (lon )+ ',' + str (lat )+ '?contours_minutes=' + str (reachtime ) + \
391
396
'&polygons=true&access_token=' + access_token
392
- response = requests .get (url ,timeout = timeout )
397
+ response = requests .get (url ,timeout = timeout , headers = headers )
393
398
result = json .loads (response .text )
394
399
isochrone = gpd .GeoDataFrame .from_features (result )
395
400
isochrone ['lon' ] = lon
0 commit comments