Esempio n. 1
0
    def get_geoconv(self, location):
        queryStr = '/geoconv/v1/?coords=%s&from=1&to=5&output=json&ak=%s' % (
            location, self.__ak)
        encodedStr = parse.quote(queryStr, safe="/:=&?#+!$,;'@()*[]")
        rawStr = encodedStr + self.__sk
        # 计算sn
        sn = (hashlib.md5(parse.quote_plus(rawStr).encode("utf8")).hexdigest())
        url = parse.quote("http://api.map.baidu.com" + queryStr + "&sn=" + sn,
                          safe="/:=&?#+!$,;'@()*[]")

        data = json.loads(Utils.http_url(url).decode())
        if 'result' in data:
            # print('%s:%s' % ('处理经纬度:', location))
            return data['result'][0]
        return None
Esempio n. 2
0
 def __get_place(self, region, station, tag, path):
     res = Utils.http_url(self.get_place(station, region, tag))
     data = json.loads(res.decode())
     if 'results' in data and len(data['results']) > 0:
         print(station + '|' + str(len(data['results'])))
         Utils.write_csv('statistics.csv',
                         [station, str(len(data['results']))], 'a+')
         if not os.path.exists(path):
             os.mkdir(path)
         Utils.write_file(
             path + '/' + station + '.txt',
             json.dumps(data['results'], ensure_ascii=False, indent=4),
             'a+')
     else:
         Utils.write_csv('no_place_' + path + '.csv', [station], 'a+')
Esempio n. 3
0
 def get_poi(self, keywords, city, types):
     res = Utils.http_url(self.get_url(keywords, city, types))
     data = json.loads(res.decode())
     print(keywords + '|' + data['count'])
     if data['count'] != '0':
         params = []
         # 打开数据库连接
         db = pymysql.connect("localhost", "root", "Aa123456", "chatbot_cn")
         for poi in data['pois']:
             params.append([
                 str(poi['id']),
                 str(poi['name']),
                 str(poi['type']),
                 str(poi['typecode']),
                 str(poi['address']),
                 str(poi['location']),
                 str(poi['pcode']),
                 str(poi['pname']),
                 str(poi['citycode']),
                 str(poi['cityname']),
                 str(poi['adcode']),
                 str(poi['adname'])
             ])
         try:
             # 使用cursor()方法获取操作游标
             cursor = db.cursor()
             sql = """INSERT INTO lbs_poi
                         (id,name,type,typecode,address,location,pcode,pname,citycode,cityname,adcode,adname) 
                       VALUES 
                         (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"""
             # 执行sql语句
             cursor.executemany(sql, params)
             # 提交到数据库执行
             db.commit()
             cursor.close()
         except Exception as e:
             print(e)
             # 如果发生错误则回滚
             # self.db.rollback()
         # 关闭数据库连接
         db.close()