下载全国城市经纬度
发布时间:2020-12-17 17:27:55 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ?import reimport osimport shutilimport urllib.requesthome = "http://jingwei.supfree.net"def find_txt(file,s): b_find = False if os.path.exis
|
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 ?
import re
import os
import shutil
import urllib.request
home = "http://jingwei.supfree.net"
def find_txt(file,s):
b_find = False
if os.path.exists(file):
f = open(file,"r")
ls_txt = f.readlines()
f.close()
for l in ls_txt:
if l.find(s) >= 0:
b_find = True
break
return b_find
def append_txt(file,s):
f = open(file,"a")
f.write(s)
f.close()
def getjw(p2):
url = home + "/" + p2
page = urllib.request.urlopen(url).read()
try:
page = page.decode("gb2312")
except:
try:
page = page.decode("gbk")
except:
page = page.decode("utf-8")
ls = re.findall(re.compile('botitle18">(.+?)<'),page)
if len(ls) == 2:
return ls[0].strip(" "),ls[1].strip(" ")
def dwon_city(s_I,s_II,p):
file = "jingwei.txt"
url = home + "/" + p
page = urllib.request.urlopen(url).read()
try:
page = page.decode("gb2312")
except:
try:
page = page.decode("gbk")
except:
page = page.decode("utf-8")
ls1 = re.findall(re.compile('href="(mengzi.asp.+?)"'),page)
ls2 = re.findall(re.compile('经纬度">(.+?)</a'),page)
#print(len(ls1))
#print(len(ls2))
for i in range(len(ls1)):
#print(" " + ls2[i] + " " + ls1[i])
if not find_txt(file,s_I + " " + s_II + " " + ls2[i]):
(j,w) = getjw(ls1[i])
print(" " + ls2[i] + " " + j + " " + w)
s3 = s_I + " " + s_II + " " + ls2[i] + " " + j + " " + w + "n"
append_txt(file,s3)
else:
print(" " + ls2[i] + " 已存在")
if __name__ == "__main__":
#try:
url = home
page = urllib.request.urlopen(url).read()
page = page.decode("gb2312")
page = page.replace("rn","")
page = page.replace(" ","")
ls = re.findall(re.compile('class="bredbotitle14">(.+?)</a><'),page)
print(len(ls))
file = "log.txt"
for l in ls:
i_s = l.find("<")
s_I = l[:i_s]
print(s_I)
if find_txt(file,s_I):
continue
s2 = l[i_s:] + "<"
ls2 = re.findall(re.compile('href="(.+?)<'),s2)
for l2 in ls2:
l2 = l2.replace('">'," ")
ls3 = l2.split(" ")
#if l2 == "|" or l2.find(">") > 0:
# continue
if len(ls3) != 2:
continue
print(" " + ls3[1] + " " + ls3[0])
s_II = ls3[1]
if s_II.find("?") >= 0:
continue
dwon_city(s_I,ls3[0])
append_txt(file,s_I + "n")
#except:
# print("error!")
print("finished!")
以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
