摘要:由于个人需要国内所有省市区的地址段和经纬度的对应关系,最好是数据库可以直接使用的数据源,经调研发现可以使用百度来实现这个功能,主要是找到所有的地址段然后调用查询,主要是用做异步爬虫来实现的,你可以使用百度开发者账号申请并发数从下载段,节约时
由于个人需要国内所有省市区的ip地址段和经纬度的对应关系,最好是数据库可以直接使用的数据源,经调研发现可以使用百度API来实现这个功能,主要是找到所有的ip地址段然后调用api 查询,
主要是用Tornado 做异步爬虫来实现的,import time import json from datetime import timedelta from bs4 import BeautifulSoup import os from tornado import httpclient, gen, ioloop, queues from api import map_ip_region_provice AK = "umG08TkpEwmRWkUPx4MaM0FGW3h4i4L" # 你可以使用百度开发者账号申请 base_url = "http://api.map.baidu.com/location/ip?ak={1}&ip={0}" IP_URL = "https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt" concurrency = 20 # 并发数 def is_file_exist(result=None): if result: result = result else: result = [] with open("iplist.txt", "w+") as ipfile: for i in result: ipfile.write(i) ipfile.write(" ") return result def get_iplist(): """ 从github 下载ip 段 """ # check ip is exist, 节约时间 result = list() flag = is_file_exist() if flag: return flag else: http_client = httpclient.HTTPClient() try: response = http_client.fetch(IP_URL) respone = response.body except httpclient.HTTPError as e: print("Error: " + str(e)) except Exception as e: # Other errors are possible, such as IOError. print("Error: " + str(e)) http_client.close() respone = BeautifulSoup(respone, "lxml") div = respone.find("table", attrs={"class", "highlight tab-size js-file-line-container"}) trs = div.find_all("td", attrs={"class": "blob-code blob-code-inner js-file-line"}) for tr in trs: temp = tr.string result.append(temp) print("fetch ip .....") is_file_exist(result)
具体可以查看
https://fizblog.cn/blog?title...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/41182.html
摘要:需求从手工填写的地址中,解析出省市区信息方法使用百度地图正逆地理编码虽然百度地图提供地点检索,但是是需要传入行政区信息的根据正地理编码服务接口将地址转换为经纬度,然后根据经纬度调用逆地理编码服务接口,得到结构化的行政区信息代码你的百度地图返 需求: 从手工填写的地址中,解析出省市区信息 方法 使用百度地图api正/逆地理编码PS: 虽然百度地图提供地点检索,但是是需要传入行政区信息的 ...
摘要:极致的插件机制,系统内的系统,安装和卸载不会对原来的系统产生影响强大的功能完全满足各阶段的需求,支持用户多端访问后台微信前台等,系统中的系统。多入口模式,多入口分为后台前端,微信,对内接口,对外接口,不同的业务,不同的设备,进入不同的入口。 RageFrame 2.0 为二次开发而生,让开发变得更简单 项目地址:https://github.com/jianyan74/... 前言 这...
摘要:极致的插件机制,系统内的系统,安装和卸载不会对原来的系统产生影响强大的功能完全满足各阶段的需求,支持用户多端访问后台微信前台等,系统中的系统。多入口模式,多入口分为后台前端,微信,对内接口,对外接口,不同的业务,不同的设备,进入不同的入口。 RageFrame 2.0 为二次开发而生,让开发变得更简单 项目地址:https://github.com/jianyan74/... 前言 这...
摘要:为了方便广大的开发者,特此统计了网上诸多的免费,为您收集免费的接口服务,做一个的搬运工,以后会每月定时更新新的接口。将长段中文切词分开。 为了方便广大的开发者,特此统计了网上诸多的免费API,为您收集免费的接口服务,做一个api的搬运工,以后会每月定时更新新的接口。有些接口来自第三方,在第三方注册就可以成为他们的会员,免费使用他们的部分接口。 百度AccessToken:针对HTTP ...
阅读 2553·2021-11-23 09:51
阅读 3354·2021-11-22 15:22
阅读 1868·2021-11-18 13:22
阅读 2235·2021-09-24 09:48
阅读 1307·2019-08-29 13:58
阅读 1297·2019-08-26 13:39
阅读 2444·2019-08-26 10:48
阅读 3028·2019-08-26 10:21