摘要:由于個(gè)人需要國內(nèi)所有省市區(qū)的地址段和經(jīng)緯度的對應(yīng)關(guān)系,最好是數(shù)據(jù)庫可以直接使用的數(shù)據(jù)源,經(jīng)調(diào)研發(fā)現(xiàn)可以使用百度來實(shí)現(xiàn)這個(gè)功能,主要是找到所有的地址段然后調(diào)用查詢,主要是用做異步爬蟲來實(shí)現(xiàn)的,你可以使用百度開發(fā)者賬號(hào)申請并發(fā)數(shù)從下載段,節(jié)約時(shí)
由于個(gè)人需要國內(nèi)所有省市區(qū)的ip地址段和經(jīng)緯度的對應(yīng)關(guān)系,最好是數(shù)據(jù)庫可以直接使用的數(shù)據(jù)源,經(jīng)調(diào)研發(fā)現(xiàn)可以使用百度API來實(shí)現(xiàn)這個(gè)功能,主要是找到所有的ip地址段然后調(diào)用api 查詢,
主要是用Tornado 做異步爬蟲來實(shí)現(xiàn)的,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" # 你可以使用百度開發(fā)者賬號(hào)申請 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 # 并發(fā)數(shù) 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, 節(jié)約時(shí)間 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...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41182.html
摘要:需求從手工填寫的地址中,解析出省市區(qū)信息方法使用百度地圖正逆地理編碼雖然百度地圖提供地點(diǎn)檢索,但是是需要傳入行政區(qū)信息的根據(jù)正地理編碼服務(wù)接口將地址轉(zhuǎn)換為經(jīng)緯度,然后根據(jù)經(jīng)緯度調(diào)用逆地理編碼服務(wù)接口,得到結(jié)構(gòu)化的行政區(qū)信息代碼你的百度地圖返 需求: 從手工填寫的地址中,解析出省市區(qū)信息 方法 使用百度地圖api正/逆地理編碼PS: 雖然百度地圖提供地點(diǎn)檢索,但是是需要傳入行政區(qū)信息的 ...
摘要:極致的插件機(jī)制,系統(tǒng)內(nèi)的系統(tǒng),安裝和卸載不會(huì)對原來的系統(tǒng)產(chǎn)生影響強(qiáng)大的功能完全滿足各階段的需求,支持用戶多端訪問后臺(tái)微信前臺(tái)等,系統(tǒng)中的系統(tǒng)。多入口模式,多入口分為后臺(tái)前端,微信,對內(nèi)接口,對外接口,不同的業(yè)務(wù),不同的設(shè)備,進(jìn)入不同的入口。 RageFrame 2.0 為二次開發(fā)而生,讓開發(fā)變得更簡單 項(xiàng)目地址:https://github.com/jianyan74/... 前言 這...
摘要:極致的插件機(jī)制,系統(tǒng)內(nèi)的系統(tǒng),安裝和卸載不會(huì)對原來的系統(tǒng)產(chǎn)生影響強(qiáng)大的功能完全滿足各階段的需求,支持用戶多端訪問后臺(tái)微信前臺(tái)等,系統(tǒng)中的系統(tǒng)。多入口模式,多入口分為后臺(tái)前端,微信,對內(nèi)接口,對外接口,不同的業(yè)務(wù),不同的設(shè)備,進(jìn)入不同的入口。 RageFrame 2.0 為二次開發(fā)而生,讓開發(fā)變得更簡單 項(xiàng)目地址:https://github.com/jianyan74/... 前言 這...
摘要:為了方便廣大的開發(fā)者,特此統(tǒng)計(jì)了網(wǎng)上諸多的免費(fèi),為您收集免費(fèi)的接口服務(wù),做一個(gè)的搬運(yùn)工,以后會(huì)每月定時(shí)更新新的接口。將長段中文切詞分開。 為了方便廣大的開發(fā)者,特此統(tǒng)計(jì)了網(wǎng)上諸多的免費(fèi)API,為您收集免費(fèi)的接口服務(wù),做一個(gè)api的搬運(yùn)工,以后會(huì)每月定時(shí)更新新的接口。有些接口來自第三方,在第三方注冊就可以成為他們的會(huì)員,免費(fèi)使用他們的部分接口。 百度AccessToken:針對HTTP ...
閱讀 2570·2021-11-23 09:51
閱讀 3365·2021-11-22 15:22
閱讀 1878·2021-11-18 13:22
閱讀 2273·2021-09-24 09:48
閱讀 1318·2019-08-29 13:58
閱讀 1309·2019-08-26 13:39
閱讀 2452·2019-08-26 10:48
閱讀 3040·2019-08-26 10:21